<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>stm32f4_blink_led: D:/123/stm32f4_blink_led-1.2.2-120323/inc/arm_math.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">stm32f4_blink_led
   &#160;<span id="projectnumber">1.2.2-120323</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<div class="title">D:/123/stm32f4_blink_led-1.2.2-120323/inc/arm_math.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* ----------------------------------------------------------------------   </span>
<a name="l00002"></a>00002 <span class="comment"> * Copyright (C) 2010 ARM Limited. All rights reserved.   </span>
<a name="l00003"></a>00003 <span class="comment"> *   </span>
<a name="l00004"></a>00004 <span class="comment"> * $Date:        15. July 2011  </span>
<a name="l00005"></a>00005 <span class="comment"> * $Revision:   V1.0.10  </span>
<a name="l00006"></a>00006 <span class="comment"> *   </span>
<a name="l00007"></a>00007 <span class="comment"> * Project:         CMSIS DSP Library   </span>
<a name="l00008"></a>00008 <span class="comment"> * Title:        arm_math.h</span>
<a name="l00009"></a>00009 <span class="comment"> *   </span>
<a name="l00010"></a>00010 <span class="comment"> * Description:  Public header file for CMSIS DSP Library</span>
<a name="l00011"></a>00011 <span class="comment"> *   </span>
<a name="l00012"></a>00012 <span class="comment"> * Target Processor: Cortex-M4/Cortex-M3/Cortex-M0</span>
<a name="l00013"></a>00013 <span class="comment"> *  </span>
<a name="l00014"></a>00014 <span class="comment"> * Version 1.0.10 2011/7/15 </span>
<a name="l00015"></a>00015 <span class="comment"> *    Big Endian support added and Merged M0 and M3/M4 Source code.  </span>
<a name="l00016"></a>00016 <span class="comment"> *   </span>
<a name="l00017"></a>00017 <span class="comment"> * Version 1.0.3 2010/11/29  </span>
<a name="l00018"></a>00018 <span class="comment"> *    Re-organized the CMSIS folders and updated documentation.   </span>
<a name="l00019"></a>00019 <span class="comment"> *    </span>
<a name="l00020"></a>00020 <span class="comment"> * Version 1.0.2 2010/11/11   </span>
<a name="l00021"></a>00021 <span class="comment"> *    Documentation updated.    </span>
<a name="l00022"></a>00022 <span class="comment"> *   </span>
<a name="l00023"></a>00023 <span class="comment"> * Version 1.0.1 2010/10/05    </span>
<a name="l00024"></a>00024 <span class="comment"> *    Production release and review comments incorporated.   </span>
<a name="l00025"></a>00025 <span class="comment"> *   </span>
<a name="l00026"></a>00026 <span class="comment"> * Version 1.0.0 2010/09/20    </span>
<a name="l00027"></a>00027 <span class="comment"> *    Production release and review comments incorporated.   </span>
<a name="l00028"></a>00028 <span class="comment"> * -------------------------------------------------------------------- */</span>
<a name="l00029"></a>00029 
<a name="l00251"></a>00251 <span class="preprocessor">#ifndef _ARM_MATH_H</span>
<a name="l00252"></a>00252 <span class="preprocessor"></span><span class="preprocessor">#define _ARM_MATH_H</span>
<a name="l00253"></a>00253 <span class="preprocessor"></span>
<a name="l00254"></a>00254 <span class="preprocessor">#define __CMSIS_GENERIC              </span><span class="comment">/* disable NVIC and Systick functions */</span>
<a name="l00255"></a>00255 
<a name="l00256"></a>00256 <span class="preprocessor">#if defined (ARM_MATH_CM4)</span>
<a name="l00257"></a>00257 <span class="preprocessor"></span><span class="preprocessor">  #include &quot;<a class="code" href="core__cm4_8h.html" title="CMSIS Cortex-M4 Core Peripheral Access Layer Header File.">core_cm4.h</a>&quot;</span>
<a name="l00258"></a>00258 <span class="preprocessor">#elif defined (ARM_MATH_CM3)</span>
<a name="l00259"></a>00259 <span class="preprocessor"></span><span class="preprocessor">  #include &quot;core_cm3.h&quot;</span>
<a name="l00260"></a>00260 <span class="preprocessor">#elif defined (ARM_MATH_CM0)</span>
<a name="l00261"></a>00261 <span class="preprocessor"></span><span class="preprocessor">  #include &quot;core_cm0.h&quot;</span>
<a name="l00262"></a>00262 <span class="preprocessor">#else</span>
<a name="l00263"></a>00263 <span class="preprocessor"></span><span class="preprocessor">#include &quot;ARMCM4.h&quot;</span>
<a name="l00264"></a>00264 <span class="preprocessor">#warning &quot;Define either ARM_MATH_CM4 OR ARM_MATH_CM3...By Default building on ARM_MATH_CM4.....&quot;</span>
<a name="l00265"></a>00265 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00266"></a>00266 <span class="preprocessor"></span>
<a name="l00267"></a>00267 <span class="preprocessor">#undef  __CMSIS_GENERIC              </span><span class="comment">/* enable NVIC and Systick functions */</span>
<a name="l00268"></a>00268 <span class="preprocessor">#include &quot;string.h&quot;</span>
<a name="l00269"></a>00269 <span class="preprocessor">    #include &quot;math.h&quot;</span>
<a name="l00270"></a>00270 <span class="preprocessor">#ifdef  __cplusplus</span>
<a name="l00271"></a>00271 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span>
<a name="l00272"></a>00272 {
<a name="l00273"></a>00273 <span class="preprocessor">#endif</span>
<a name="l00274"></a>00274 <span class="preprocessor"></span>
<a name="l00275"></a>00275 
<a name="l00280"></a>00280 <span class="preprocessor">#define DELTA_Q31           (0x100)</span>
<a name="l00281"></a>00281 <span class="preprocessor"></span><span class="preprocessor">#define DELTA_Q15           0x5</span>
<a name="l00282"></a>00282 <span class="preprocessor"></span><span class="preprocessor">#define INDEX_MASK          0x0000003F</span>
<a name="l00283"></a>00283 <span class="preprocessor"></span><span class="preprocessor">#define PI                  3.14159265358979f</span>
<a name="l00284"></a>00284 <span class="preprocessor"></span>
<a name="l00289"></a>00289 <span class="preprocessor">#define TABLE_SIZE          256</span>
<a name="l00290"></a>00290 <span class="preprocessor"></span><span class="preprocessor">#define TABLE_SPACING_Q31   0x800000</span>
<a name="l00291"></a>00291 <span class="preprocessor"></span><span class="preprocessor">#define TABLE_SPACING_Q15   0x80</span>
<a name="l00292"></a>00292 <span class="preprocessor"></span>
<a name="l00296"></a>00296   <span class="comment">/* 1.31(q31) Fixed value of 2/360 */</span>
<a name="l00297"></a>00297   <span class="comment">/* -1 to +1 is divided into 360 values so total spacing is (2/360) */</span>
<a name="l00298"></a>00298 <span class="preprocessor">#define INPUT_SPACING           0xB60B61</span>
<a name="l00299"></a>00299 <span class="preprocessor"></span>
<a name="l00300"></a>00300 
<a name="l00305"></a>00305   <span class="keyword">typedef</span> <span class="keyword">enum</span>
<a name="l00306"></a>00306     {
<a name="l00307"></a>00307       ARM_MATH_SUCCESS = 0,              
<a name="l00308"></a>00308       ARM_MATH_ARGUMENT_ERROR = -1,      
<a name="l00309"></a>00309       ARM_MATH_LENGTH_ERROR = -2,        
<a name="l00310"></a>00310       ARM_MATH_SIZE_MISMATCH = -3,       
<a name="l00311"></a>00311       ARM_MATH_NANINF = -4,              
<a name="l00312"></a>00312       ARM_MATH_SINGULAR = -5,            
<a name="l00313"></a>00313       ARM_MATH_TEST_FAILURE = -6         
<a name="l00314"></a>00314     } arm_status;
<a name="l00315"></a>00315 
<a name="l00319"></a>00319   <span class="keyword">typedef</span> int8_t q7_t;
<a name="l00320"></a>00320 
<a name="l00324"></a>00324   <span class="keyword">typedef</span> int16_t q15_t;
<a name="l00325"></a>00325 
<a name="l00329"></a>00329   <span class="keyword">typedef</span> int32_t q31_t;
<a name="l00330"></a>00330 
<a name="l00334"></a>00334   <span class="keyword">typedef</span> int64_t q63_t;
<a name="l00335"></a>00335 
<a name="l00339"></a>00339   <span class="keyword">typedef</span> <span class="keywordtype">float</span> float32_t;
<a name="l00340"></a>00340 
<a name="l00344"></a>00344   <span class="keyword">typedef</span> <span class="keywordtype">double</span> float64_t;
<a name="l00345"></a>00345 
<a name="l00349"></a>00349 <span class="preprocessor">#define __SIMD32(addr)  (*(int32_t **) &amp; (addr))</span>
<a name="l00350"></a>00350 <span class="preprocessor"></span>
<a name="l00351"></a>00351 <span class="preprocessor">#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0)</span>
<a name="l00352"></a>00352 <span class="preprocessor"></span>
<a name="l00355"></a>00355 <span class="preprocessor">#define __PKHBT(ARG1, ARG2, ARG3)      ( (((int32_t)(ARG1) &lt;&lt;  0) &amp; (int32_t)0x0000FFFF) | \</span>
<a name="l00356"></a>00356 <span class="preprocessor">                                         (((int32_t)(ARG2) &lt;&lt; ARG3) &amp; (int32_t)0xFFFF0000)  )</span>
<a name="l00357"></a>00357 <span class="preprocessor"></span>
<a name="l00358"></a>00358 <span class="preprocessor">#endif</span>
<a name="l00359"></a>00359 <span class="preprocessor"></span>
<a name="l00360"></a>00360 
<a name="l00364"></a>00364 <span class="preprocessor">#ifndef ARM_MATH_BIG_ENDIAN</span>
<a name="l00365"></a>00365 <span class="preprocessor"></span>
<a name="l00366"></a>00366 <span class="preprocessor">#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v0) &lt;&lt;  0) &amp; (int32_t)0x000000FF) | \</span>
<a name="l00367"></a>00367 <span class="preprocessor">                                (((int32_t)(v1) &lt;&lt;  8) &amp; (int32_t)0x0000FF00) | \</span>
<a name="l00368"></a>00368 <span class="preprocessor">                                (((int32_t)(v2) &lt;&lt; 16) &amp; (int32_t)0x00FF0000) | \</span>
<a name="l00369"></a>00369 <span class="preprocessor">                                (((int32_t)(v3) &lt;&lt; 24) &amp; (int32_t)0xFF000000)  )</span>
<a name="l00370"></a>00370 <span class="preprocessor"></span><span class="preprocessor">#else                               </span>
<a name="l00371"></a>00371 <span class="preprocessor"></span>
<a name="l00372"></a>00372 <span class="preprocessor">#define __PACKq7(v0,v1,v2,v3) ( (((int32_t)(v3) &lt;&lt;  0) &amp; (int32_t)0x000000FF) | \</span>
<a name="l00373"></a>00373 <span class="preprocessor">                                (((int32_t)(v2) &lt;&lt;  8) &amp; (int32_t)0x0000FF00) | \</span>
<a name="l00374"></a>00374 <span class="preprocessor">                                (((int32_t)(v1) &lt;&lt; 16) &amp; (int32_t)0x00FF0000) | \</span>
<a name="l00375"></a>00375 <span class="preprocessor">                                (((int32_t)(v0) &lt;&lt; 24) &amp; (int32_t)0xFF000000)  )</span>
<a name="l00376"></a>00376 <span class="preprocessor"></span>                                
<a name="l00377"></a>00377 <span class="preprocessor">#endif</span>
<a name="l00378"></a>00378 <span class="preprocessor"></span>
<a name="l00379"></a>00379 
<a name="l00383"></a>00383   <span class="keyword">static</span> __INLINE q31_t clip_q63_to_q31(
<a name="l00384"></a>00384                     q63_t x)
<a name="l00385"></a>00385   {
<a name="l00386"></a>00386     <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 32) != ((q31_t) x &gt;&gt; 31)) ?
<a name="l00387"></a>00387       ((0x7FFFFFFF ^ ((q31_t) (x &gt;&gt; 63)))) : (q31_t) x;
<a name="l00388"></a>00388   }
<a name="l00389"></a>00389 
<a name="l00393"></a>00393   <span class="keyword">static</span> __INLINE q15_t clip_q63_to_q15(
<a name="l00394"></a>00394                     q63_t x)
<a name="l00395"></a>00395   {
<a name="l00396"></a>00396     <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 32) != ((q31_t) x &gt;&gt; 31)) ?
<a name="l00397"></a>00397       ((0x7FFF ^ ((q15_t) (x &gt;&gt; 63)))) : (q15_t) (x &gt;&gt; 15);
<a name="l00398"></a>00398   }
<a name="l00399"></a>00399 
<a name="l00403"></a>00403   <span class="keyword">static</span> __INLINE q7_t clip_q31_to_q7(
<a name="l00404"></a>00404                       q31_t x)
<a name="l00405"></a>00405   {
<a name="l00406"></a>00406     <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 24) != ((q31_t) x &gt;&gt; 23)) ?
<a name="l00407"></a>00407       ((0x7F ^ ((q7_t) (x &gt;&gt; 31)))) : (q7_t) x;
<a name="l00408"></a>00408   }
<a name="l00409"></a>00409 
<a name="l00413"></a>00413   <span class="keyword">static</span> __INLINE q15_t clip_q31_to_q15(
<a name="l00414"></a>00414                     q31_t x)
<a name="l00415"></a>00415   {
<a name="l00416"></a>00416     <span class="keywordflow">return</span> ((q31_t) (x &gt;&gt; 16) != ((q31_t) x &gt;&gt; 15)) ?
<a name="l00417"></a>00417       ((0x7FFF ^ ((q15_t) (x &gt;&gt; 31)))) : (q15_t) x;
<a name="l00418"></a>00418   }
<a name="l00419"></a>00419 
<a name="l00424"></a>00424   <span class="keyword">static</span> __INLINE q63_t mult32x64(
<a name="l00425"></a>00425                   q63_t x,
<a name="l00426"></a>00426                   q31_t y)
<a name="l00427"></a>00427   {
<a name="l00428"></a>00428     <span class="keywordflow">return</span> ((((q63_t) (x &amp; 0x00000000FFFFFFFF) * y) &gt;&gt; 32) +
<a name="l00429"></a>00429             (((q63_t) (x &gt;&gt; 32) * y)));
<a name="l00430"></a>00430   }
<a name="l00431"></a>00431 
<a name="l00432"></a>00432 
<a name="l00433"></a>00433 <span class="preprocessor">#if defined (ARM_MATH_CM0) &amp;&amp; defined ( __CC_ARM   )</span>
<a name="l00434"></a>00434 <span class="preprocessor"></span><span class="preprocessor">#define __CLZ __clz</span>
<a name="l00435"></a>00435 <span class="preprocessor"></span><span class="preprocessor">#endif </span>
<a name="l00436"></a>00436 <span class="preprocessor"></span>
<a name="l00437"></a>00437 <span class="preprocessor">#if defined (ARM_MATH_CM0) &amp;&amp; ((defined (__ICCARM__)) ||(defined (__GNUC__)) || defined (__TASKING__) )</span>
<a name="l00438"></a>00438 <span class="preprocessor"></span>
<a name="l00439"></a>00439   <span class="keyword">static</span> __INLINE  uint32_t __CLZ(q31_t data);
<a name="l00440"></a>00440 
<a name="l00441"></a>00441 
<a name="l00442"></a>00442   <span class="keyword">static</span> __INLINE uint32_t __CLZ(q31_t data)
<a name="l00443"></a>00443   {
<a name="l00444"></a>00444       uint32_t count = 0;
<a name="l00445"></a>00445       uint32_t mask = 0x80000000;
<a name="l00446"></a>00446 
<a name="l00447"></a>00447       <span class="keywordflow">while</span>((data &amp; mask) ==  0)
<a name="l00448"></a>00448       {
<a name="l00449"></a>00449           count += 1u;
<a name="l00450"></a>00450           mask = mask &gt;&gt; 1u;
<a name="l00451"></a>00451       }
<a name="l00452"></a>00452 
<a name="l00453"></a>00453       <span class="keywordflow">return</span>(count);
<a name="l00454"></a>00454 
<a name="l00455"></a>00455   }
<a name="l00456"></a>00456 
<a name="l00457"></a>00457 <span class="preprocessor">#endif </span>
<a name="l00458"></a>00458 <span class="preprocessor"></span>
<a name="l00463"></a>00463   <span class="keyword">static</span> __INLINE uint32_t arm_recip_q31(
<a name="l00464"></a>00464                      q31_t in,
<a name="l00465"></a>00465                      q31_t * dst,
<a name="l00466"></a>00466                      q31_t * pRecipTable)
<a name="l00467"></a>00467   {
<a name="l00468"></a>00468 
<a name="l00469"></a>00469     uint32_t out, tempVal;
<a name="l00470"></a>00470     uint32_t index, i;
<a name="l00471"></a>00471     uint32_t signBits;
<a name="l00472"></a>00472 
<a name="l00473"></a>00473     <span class="keywordflow">if</span>(in &gt; 0)
<a name="l00474"></a>00474       {
<a name="l00475"></a>00475     signBits = __CLZ(in) - 1;
<a name="l00476"></a>00476       }
<a name="l00477"></a>00477     <span class="keywordflow">else</span>
<a name="l00478"></a>00478       {
<a name="l00479"></a>00479     signBits = __CLZ(-in) - 1;
<a name="l00480"></a>00480       }
<a name="l00481"></a>00481 
<a name="l00482"></a>00482     <span class="comment">/* Convert input sample to 1.31 format */</span>
<a name="l00483"></a>00483     in = in &lt;&lt; signBits;
<a name="l00484"></a>00484 
<a name="l00485"></a>00485     <span class="comment">/* calculation of index for initial approximated Val */</span>
<a name="l00486"></a>00486     index = (uint32_t) (in &gt;&gt; 24u);
<a name="l00487"></a>00487     index = (index &amp; INDEX_MASK);
<a name="l00488"></a>00488 
<a name="l00489"></a>00489     <span class="comment">/* 1.31 with exp 1 */</span>
<a name="l00490"></a>00490     out = pRecipTable[index];
<a name="l00491"></a>00491 
<a name="l00492"></a>00492     <span class="comment">/* calculation of reciprocal value */</span>
<a name="l00493"></a>00493     <span class="comment">/* running approximation for two iterations */</span>
<a name="l00494"></a>00494     <span class="keywordflow">for</span> (i = 0u; i &lt; 2u; i++)
<a name="l00495"></a>00495       {
<a name="l00496"></a>00496     tempVal = (q31_t) (((q63_t) in * out) &gt;&gt; 31u);
<a name="l00497"></a>00497     tempVal = 0x7FFFFFFF - tempVal;
<a name="l00498"></a>00498     <span class="comment">/*      1.31 with exp 1 */</span>
<a name="l00499"></a>00499     <span class="comment">//out = (q31_t) (((q63_t) out * tempVal) &gt;&gt; 30u);</span>
<a name="l00500"></a>00500     out = (q31_t) clip_q63_to_q31(((q63_t) out * tempVal) &gt;&gt; 30u);
<a name="l00501"></a>00501       }
<a name="l00502"></a>00502 
<a name="l00503"></a>00503     <span class="comment">/* write output */</span>
<a name="l00504"></a>00504     *dst = out;
<a name="l00505"></a>00505 
<a name="l00506"></a>00506     <span class="comment">/* return num of signbits of out = 1/in value */</span>
<a name="l00507"></a>00507     <span class="keywordflow">return</span> (signBits + 1u);
<a name="l00508"></a>00508 
<a name="l00509"></a>00509   }
<a name="l00510"></a>00510 
<a name="l00514"></a>00514   <span class="keyword">static</span> __INLINE uint32_t arm_recip_q15(
<a name="l00515"></a>00515                      q15_t in,
<a name="l00516"></a>00516                      q15_t * dst,
<a name="l00517"></a>00517                      q15_t * pRecipTable)
<a name="l00518"></a>00518   {
<a name="l00519"></a>00519 
<a name="l00520"></a>00520     uint32_t out = 0, tempVal = 0;
<a name="l00521"></a>00521     uint32_t index = 0, i = 0;
<a name="l00522"></a>00522     uint32_t signBits = 0;
<a name="l00523"></a>00523 
<a name="l00524"></a>00524     <span class="keywordflow">if</span>(in &gt; 0)
<a name="l00525"></a>00525       {
<a name="l00526"></a>00526     signBits = __CLZ(in) - 17;
<a name="l00527"></a>00527       }
<a name="l00528"></a>00528     <span class="keywordflow">else</span>
<a name="l00529"></a>00529       {
<a name="l00530"></a>00530     signBits = __CLZ(-in) - 17;
<a name="l00531"></a>00531       }
<a name="l00532"></a>00532 
<a name="l00533"></a>00533     <span class="comment">/* Convert input sample to 1.15 format */</span>
<a name="l00534"></a>00534     in = in &lt;&lt; signBits;
<a name="l00535"></a>00535 
<a name="l00536"></a>00536     <span class="comment">/* calculation of index for initial approximated Val */</span>
<a name="l00537"></a>00537     index = in &gt;&gt; 8;
<a name="l00538"></a>00538     index = (index &amp; INDEX_MASK);
<a name="l00539"></a>00539 
<a name="l00540"></a>00540     <span class="comment">/*      1.15 with exp 1  */</span>
<a name="l00541"></a>00541     out = pRecipTable[index];
<a name="l00542"></a>00542 
<a name="l00543"></a>00543     <span class="comment">/* calculation of reciprocal value */</span>
<a name="l00544"></a>00544     <span class="comment">/* running approximation for two iterations */</span>
<a name="l00545"></a>00545     <span class="keywordflow">for</span> (i = 0; i &lt; 2; i++)
<a name="l00546"></a>00546       {
<a name="l00547"></a>00547     tempVal = (q15_t) (((q31_t) in * out) &gt;&gt; 15);
<a name="l00548"></a>00548     tempVal = 0x7FFF - tempVal;
<a name="l00549"></a>00549     <span class="comment">/*      1.15 with exp 1 */</span>
<a name="l00550"></a>00550     out = (q15_t) (((q31_t) out * tempVal) &gt;&gt; 14);
<a name="l00551"></a>00551       }
<a name="l00552"></a>00552 
<a name="l00553"></a>00553     <span class="comment">/* write output */</span>
<a name="l00554"></a>00554     *dst = out;
<a name="l00555"></a>00555 
<a name="l00556"></a>00556     <span class="comment">/* return num of signbits of out = 1/in value */</span>
<a name="l00557"></a>00557     <span class="keywordflow">return</span> (signBits + 1);
<a name="l00558"></a>00558 
<a name="l00559"></a>00559   }
<a name="l00560"></a>00560 
<a name="l00561"></a>00561 
<a name="l00562"></a>00562   <span class="comment">/*</span>
<a name="l00563"></a>00563 <span class="comment">   * @brief C custom defined intrinisic function for only M0 processors</span>
<a name="l00564"></a>00564 <span class="comment">   */</span>
<a name="l00565"></a>00565 <span class="preprocessor">#if defined(ARM_MATH_CM0)</span>
<a name="l00566"></a>00566 <span class="preprocessor"></span>
<a name="l00567"></a>00567   <span class="keyword">static</span> __INLINE q31_t __SSAT(
<a name="l00568"></a>00568                    q31_t x,
<a name="l00569"></a>00569                    uint32_t y)
<a name="l00570"></a>00570   {
<a name="l00571"></a>00571     int32_t posMax, negMin;
<a name="l00572"></a>00572     uint32_t i;
<a name="l00573"></a>00573 
<a name="l00574"></a>00574     posMax = 1;
<a name="l00575"></a>00575     <span class="keywordflow">for</span> (i = 0; i &lt; (y - 1); i++)
<a name="l00576"></a>00576       {
<a name="l00577"></a>00577     posMax = posMax * 2;
<a name="l00578"></a>00578       }
<a name="l00579"></a>00579 
<a name="l00580"></a>00580     <span class="keywordflow">if</span>(x &gt; 0)
<a name="l00581"></a>00581       {
<a name="l00582"></a>00582     posMax = (posMax - 1);
<a name="l00583"></a>00583 
<a name="l00584"></a>00584     <span class="keywordflow">if</span>(x &gt; posMax)
<a name="l00585"></a>00585       {
<a name="l00586"></a>00586         x = posMax;
<a name="l00587"></a>00587       }
<a name="l00588"></a>00588       }
<a name="l00589"></a>00589     <span class="keywordflow">else</span>
<a name="l00590"></a>00590       {
<a name="l00591"></a>00591     negMin = -posMax;
<a name="l00592"></a>00592 
<a name="l00593"></a>00593     <span class="keywordflow">if</span>(x &lt; negMin)
<a name="l00594"></a>00594       {
<a name="l00595"></a>00595         x = negMin;
<a name="l00596"></a>00596       }
<a name="l00597"></a>00597       }
<a name="l00598"></a>00598     <span class="keywordflow">return</span> (x);
<a name="l00599"></a>00599 
<a name="l00600"></a>00600 
<a name="l00601"></a>00601   }
<a name="l00602"></a>00602 
<a name="l00603"></a>00603 <span class="preprocessor">#endif </span><span class="comment">/* end of ARM_MATH_CM0 */</span>
<a name="l00604"></a>00604 
<a name="l00605"></a>00605 
<a name="l00606"></a>00606 
<a name="l00607"></a>00607   <span class="comment">/*</span>
<a name="l00608"></a>00608 <span class="comment">   * @brief C custom defined intrinsic function for M3 and M0 processors</span>
<a name="l00609"></a>00609 <span class="comment">   */</span>
<a name="l00610"></a>00610 <span class="preprocessor">#if defined (ARM_MATH_CM3) || defined (ARM_MATH_CM0)</span>
<a name="l00611"></a>00611 <span class="preprocessor"></span>
<a name="l00612"></a>00612   <span class="comment">/*</span>
<a name="l00613"></a>00613 <span class="comment">   * @brief C custom defined QADD8 for M3 and M0 processors</span>
<a name="l00614"></a>00614 <span class="comment">   */</span>
<a name="l00615"></a>00615   <span class="keyword">static</span> __INLINE q31_t __QADD8(
<a name="l00616"></a>00616                 q31_t x,
<a name="l00617"></a>00617                 q31_t y)
<a name="l00618"></a>00618   {
<a name="l00619"></a>00619 
<a name="l00620"></a>00620     q31_t sum;
<a name="l00621"></a>00621     q7_t r, s, t, u;
<a name="l00622"></a>00622 
<a name="l00623"></a>00623     r = (char) x;
<a name="l00624"></a>00624     s = (char) y;
<a name="l00625"></a>00625 
<a name="l00626"></a>00626     r = __SSAT((q31_t) (r + s), 8);
<a name="l00627"></a>00627     s = __SSAT(((q31_t) (((x &lt;&lt; 16) &gt;&gt; 24) + ((y &lt;&lt; 16) &gt;&gt; 24))), 8);
<a name="l00628"></a>00628     t = __SSAT(((q31_t) (((x &lt;&lt; 8) &gt;&gt; 24) + ((y &lt;&lt; 8) &gt;&gt; 24))), 8);
<a name="l00629"></a>00629     u = __SSAT(((q31_t) ((x &gt;&gt; 24) + (y &gt;&gt; 24))), 8);
<a name="l00630"></a>00630 
<a name="l00631"></a>00631     sum = (((q31_t) u &lt;&lt; 24) &amp; 0xFF000000) | (((q31_t) t &lt;&lt; 16) &amp; 0x00FF0000) |
<a name="l00632"></a>00632       (((q31_t) s &lt;&lt; 8) &amp; 0x0000FF00) | (r &amp; 0x000000FF);
<a name="l00633"></a>00633 
<a name="l00634"></a>00634     <span class="keywordflow">return</span> sum;
<a name="l00635"></a>00635 
<a name="l00636"></a>00636   }
<a name="l00637"></a>00637 
<a name="l00638"></a>00638   <span class="comment">/*</span>
<a name="l00639"></a>00639 <span class="comment">   * @brief C custom defined QSUB8 for M3 and M0 processors</span>
<a name="l00640"></a>00640 <span class="comment">   */</span>
<a name="l00641"></a>00641   <span class="keyword">static</span> __INLINE q31_t __QSUB8(
<a name="l00642"></a>00642                 q31_t x,
<a name="l00643"></a>00643                 q31_t y)
<a name="l00644"></a>00644   {
<a name="l00645"></a>00645 
<a name="l00646"></a>00646     q31_t sum;
<a name="l00647"></a>00647     q31_t r, s, t, u;
<a name="l00648"></a>00648 
<a name="l00649"></a>00649     r = (char) x;
<a name="l00650"></a>00650     s = (char) y;
<a name="l00651"></a>00651 
<a name="l00652"></a>00652     r = __SSAT((r - s), 8);
<a name="l00653"></a>00653     s = __SSAT(((q31_t) (((x &lt;&lt; 16) &gt;&gt; 24) - ((y &lt;&lt; 16) &gt;&gt; 24))), 8) &lt;&lt; 8;
<a name="l00654"></a>00654     t = __SSAT(((q31_t) (((x &lt;&lt; 8) &gt;&gt; 24) - ((y &lt;&lt; 8) &gt;&gt; 24))), 8) &lt;&lt; 16;
<a name="l00655"></a>00655     u = __SSAT(((q31_t) ((x &gt;&gt; 24) - (y &gt;&gt; 24))), 8) &lt;&lt; 24;
<a name="l00656"></a>00656 
<a name="l00657"></a>00657     sum =
<a name="l00658"></a>00658       (u &amp; 0xFF000000) | (t &amp; 0x00FF0000) | (s &amp; 0x0000FF00) | (r &amp; 0x000000FF);
<a name="l00659"></a>00659 
<a name="l00660"></a>00660     <span class="keywordflow">return</span> sum;
<a name="l00661"></a>00661   }
<a name="l00662"></a>00662 
<a name="l00663"></a>00663   <span class="comment">/*</span>
<a name="l00664"></a>00664 <span class="comment">   * @brief C custom defined QADD16 for M3 and M0 processors</span>
<a name="l00665"></a>00665 <span class="comment">   */</span>
<a name="l00666"></a>00666 
<a name="l00667"></a>00667   <span class="comment">/*</span>
<a name="l00668"></a>00668 <span class="comment">   * @brief C custom defined QADD16 for M3 and M0 processors</span>
<a name="l00669"></a>00669 <span class="comment">   */</span>
<a name="l00670"></a>00670   <span class="keyword">static</span> __INLINE q31_t __QADD16(
<a name="l00671"></a>00671                  q31_t x,
<a name="l00672"></a>00672                  q31_t y)
<a name="l00673"></a>00673   {
<a name="l00674"></a>00674 
<a name="l00675"></a>00675     q31_t sum;
<a name="l00676"></a>00676     q31_t r, s;
<a name="l00677"></a>00677 
<a name="l00678"></a>00678     r = (short) x;
<a name="l00679"></a>00679     s = (short) y;
<a name="l00680"></a>00680 
<a name="l00681"></a>00681     r = __SSAT(r + s, 16);
<a name="l00682"></a>00682     s = __SSAT(((q31_t) ((x &gt;&gt; 16) + (y &gt;&gt; 16))), 16) &lt;&lt; 16;
<a name="l00683"></a>00683 
<a name="l00684"></a>00684     sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00685"></a>00685 
<a name="l00686"></a>00686     <span class="keywordflow">return</span> sum;
<a name="l00687"></a>00687 
<a name="l00688"></a>00688   }
<a name="l00689"></a>00689 
<a name="l00690"></a>00690   <span class="comment">/*</span>
<a name="l00691"></a>00691 <span class="comment">   * @brief C custom defined SHADD16 for M3 and M0 processors</span>
<a name="l00692"></a>00692 <span class="comment">   */</span>
<a name="l00693"></a>00693   <span class="keyword">static</span> __INLINE q31_t __SHADD16(
<a name="l00694"></a>00694                   q31_t x,
<a name="l00695"></a>00695                   q31_t y)
<a name="l00696"></a>00696   {
<a name="l00697"></a>00697 
<a name="l00698"></a>00698     q31_t sum;
<a name="l00699"></a>00699     q31_t r, s;
<a name="l00700"></a>00700 
<a name="l00701"></a>00701     r = (short) x;
<a name="l00702"></a>00702     s = (short) y;
<a name="l00703"></a>00703 
<a name="l00704"></a>00704     r = ((r &gt;&gt; 1) + (s &gt;&gt; 1));
<a name="l00705"></a>00705     s = ((q31_t) ((x &gt;&gt; 17) + (y &gt;&gt; 17))) &lt;&lt; 16;
<a name="l00706"></a>00706 
<a name="l00707"></a>00707     sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00708"></a>00708 
<a name="l00709"></a>00709     <span class="keywordflow">return</span> sum;
<a name="l00710"></a>00710 
<a name="l00711"></a>00711   }
<a name="l00712"></a>00712 
<a name="l00713"></a>00713   <span class="comment">/*</span>
<a name="l00714"></a>00714 <span class="comment">   * @brief C custom defined QSUB16 for M3 and M0 processors</span>
<a name="l00715"></a>00715 <span class="comment">   */</span>
<a name="l00716"></a>00716   <span class="keyword">static</span> __INLINE q31_t __QSUB16(
<a name="l00717"></a>00717                  q31_t x,
<a name="l00718"></a>00718                  q31_t y)
<a name="l00719"></a>00719   {
<a name="l00720"></a>00720 
<a name="l00721"></a>00721     q31_t sum;
<a name="l00722"></a>00722     q31_t r, s;
<a name="l00723"></a>00723 
<a name="l00724"></a>00724     r = (short) x;
<a name="l00725"></a>00725     s = (short) y;
<a name="l00726"></a>00726 
<a name="l00727"></a>00727     r = __SSAT(r - s, 16);
<a name="l00728"></a>00728     s = __SSAT(((q31_t) ((x &gt;&gt; 16) - (y &gt;&gt; 16))), 16) &lt;&lt; 16;
<a name="l00729"></a>00729 
<a name="l00730"></a>00730     sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00731"></a>00731 
<a name="l00732"></a>00732     <span class="keywordflow">return</span> sum;
<a name="l00733"></a>00733   }
<a name="l00734"></a>00734 
<a name="l00735"></a>00735   <span class="comment">/*</span>
<a name="l00736"></a>00736 <span class="comment">   * @brief C custom defined SHSUB16 for M3 and M0 processors</span>
<a name="l00737"></a>00737 <span class="comment">   */</span>
<a name="l00738"></a>00738   <span class="keyword">static</span> __INLINE q31_t __SHSUB16(
<a name="l00739"></a>00739                   q31_t x,
<a name="l00740"></a>00740                   q31_t y)
<a name="l00741"></a>00741   {
<a name="l00742"></a>00742 
<a name="l00743"></a>00743     q31_t diff;
<a name="l00744"></a>00744     q31_t r, s;
<a name="l00745"></a>00745 
<a name="l00746"></a>00746     r = (short) x;
<a name="l00747"></a>00747     s = (short) y;
<a name="l00748"></a>00748 
<a name="l00749"></a>00749     r = ((r &gt;&gt; 1) - (s &gt;&gt; 1));
<a name="l00750"></a>00750     s = (((x &gt;&gt; 17) - (y &gt;&gt; 17)) &lt;&lt; 16);
<a name="l00751"></a>00751 
<a name="l00752"></a>00752     diff = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00753"></a>00753 
<a name="l00754"></a>00754     <span class="keywordflow">return</span> diff;
<a name="l00755"></a>00755   }
<a name="l00756"></a>00756 
<a name="l00757"></a>00757   <span class="comment">/*</span>
<a name="l00758"></a>00758 <span class="comment">   * @brief C custom defined QASX for M3 and M0 processors</span>
<a name="l00759"></a>00759 <span class="comment">   */</span>
<a name="l00760"></a>00760   <span class="keyword">static</span> __INLINE q31_t __QASX(
<a name="l00761"></a>00761                    q31_t x,
<a name="l00762"></a>00762                    q31_t y)
<a name="l00763"></a>00763   {
<a name="l00764"></a>00764 
<a name="l00765"></a>00765     q31_t sum = 0;
<a name="l00766"></a>00766 
<a name="l00767"></a>00767     sum = ((sum + clip_q31_to_q15((q31_t) ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) + (<span class="keywordtype">short</span>) y))) &lt;&lt; 16) +
<a name="l00768"></a>00768       clip_q31_to_q15((q31_t) ((<span class="keywordtype">short</span>) x - (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
<a name="l00769"></a>00769 
<a name="l00770"></a>00770     <span class="keywordflow">return</span> sum;
<a name="l00771"></a>00771   }
<a name="l00772"></a>00772 
<a name="l00773"></a>00773   <span class="comment">/*</span>
<a name="l00774"></a>00774 <span class="comment">   * @brief C custom defined SHASX for M3 and M0 processors</span>
<a name="l00775"></a>00775 <span class="comment">   */</span>
<a name="l00776"></a>00776   <span class="keyword">static</span> __INLINE q31_t __SHASX(
<a name="l00777"></a>00777                 q31_t x,
<a name="l00778"></a>00778                 q31_t y)
<a name="l00779"></a>00779   {
<a name="l00780"></a>00780 
<a name="l00781"></a>00781     q31_t sum;
<a name="l00782"></a>00782     q31_t r, s;
<a name="l00783"></a>00783 
<a name="l00784"></a>00784     r = (short) x;
<a name="l00785"></a>00785     s = (short) y;
<a name="l00786"></a>00786 
<a name="l00787"></a>00787     r = ((r &gt;&gt; 1) - (y &gt;&gt; 17));
<a name="l00788"></a>00788     s = (((x &gt;&gt; 17) + (s &gt;&gt; 1)) &lt;&lt; 16);
<a name="l00789"></a>00789 
<a name="l00790"></a>00790     sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00791"></a>00791 
<a name="l00792"></a>00792     <span class="keywordflow">return</span> sum;
<a name="l00793"></a>00793   }
<a name="l00794"></a>00794 
<a name="l00795"></a>00795 
<a name="l00796"></a>00796   <span class="comment">/*</span>
<a name="l00797"></a>00797 <span class="comment">   * @brief C custom defined QSAX for M3 and M0 processors</span>
<a name="l00798"></a>00798 <span class="comment">   */</span>
<a name="l00799"></a>00799   <span class="keyword">static</span> __INLINE q31_t __QSAX(
<a name="l00800"></a>00800                    q31_t x,
<a name="l00801"></a>00801                    q31_t y)
<a name="l00802"></a>00802   {
<a name="l00803"></a>00803 
<a name="l00804"></a>00804     q31_t sum = 0;
<a name="l00805"></a>00805 
<a name="l00806"></a>00806     sum = ((sum + clip_q31_to_q15((q31_t) ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) - (<span class="keywordtype">short</span>) y))) &lt;&lt; 16) +
<a name="l00807"></a>00807       clip_q31_to_q15((q31_t) ((<span class="keywordtype">short</span>) x + (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
<a name="l00808"></a>00808 
<a name="l00809"></a>00809     <span class="keywordflow">return</span> sum;
<a name="l00810"></a>00810   }
<a name="l00811"></a>00811 
<a name="l00812"></a>00812   <span class="comment">/*</span>
<a name="l00813"></a>00813 <span class="comment">   * @brief C custom defined SHSAX for M3 and M0 processors</span>
<a name="l00814"></a>00814 <span class="comment">   */</span>
<a name="l00815"></a>00815   <span class="keyword">static</span> __INLINE q31_t __SHSAX(
<a name="l00816"></a>00816                 q31_t x,
<a name="l00817"></a>00817                 q31_t y)
<a name="l00818"></a>00818   {
<a name="l00819"></a>00819 
<a name="l00820"></a>00820     q31_t sum;
<a name="l00821"></a>00821     q31_t r, s;
<a name="l00822"></a>00822 
<a name="l00823"></a>00823     r = (short) x;
<a name="l00824"></a>00824     s = (short) y;
<a name="l00825"></a>00825 
<a name="l00826"></a>00826     r = ((r &gt;&gt; 1) + (y &gt;&gt; 17));
<a name="l00827"></a>00827     s = (((x &gt;&gt; 17) - (s &gt;&gt; 1)) &lt;&lt; 16);
<a name="l00828"></a>00828 
<a name="l00829"></a>00829     sum = (s &amp; 0xFFFF0000) | (r &amp; 0x0000FFFF);
<a name="l00830"></a>00830 
<a name="l00831"></a>00831     <span class="keywordflow">return</span> sum;
<a name="l00832"></a>00832   }
<a name="l00833"></a>00833 
<a name="l00834"></a>00834   <span class="comment">/*</span>
<a name="l00835"></a>00835 <span class="comment">   * @brief C custom defined SMUSDX for M3 and M0 processors</span>
<a name="l00836"></a>00836 <span class="comment">   */</span>
<a name="l00837"></a>00837   <span class="keyword">static</span> __INLINE q31_t __SMUSDX(
<a name="l00838"></a>00838                  q31_t x,
<a name="l00839"></a>00839                  q31_t y)
<a name="l00840"></a>00840   {
<a name="l00841"></a>00841 
<a name="l00842"></a>00842     <span class="keywordflow">return</span> ((q31_t)(((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) -
<a name="l00843"></a>00843             ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)));
<a name="l00844"></a>00844   }
<a name="l00845"></a>00845 
<a name="l00846"></a>00846   <span class="comment">/*</span>
<a name="l00847"></a>00847 <span class="comment">   * @brief C custom defined SMUADX for M3 and M0 processors</span>
<a name="l00848"></a>00848 <span class="comment">   */</span>
<a name="l00849"></a>00849   <span class="keyword">static</span> __INLINE q31_t __SMUADX(
<a name="l00850"></a>00850                  q31_t x,
<a name="l00851"></a>00851                  q31_t y)
<a name="l00852"></a>00852   {
<a name="l00853"></a>00853 
<a name="l00854"></a>00854     <span class="keywordflow">return</span> ((q31_t)(((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
<a name="l00855"></a>00855             ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)));
<a name="l00856"></a>00856   }
<a name="l00857"></a>00857 
<a name="l00858"></a>00858   <span class="comment">/*</span>
<a name="l00859"></a>00859 <span class="comment">   * @brief C custom defined QADD for M3 and M0 processors</span>
<a name="l00860"></a>00860 <span class="comment">   */</span>
<a name="l00861"></a>00861   <span class="keyword">static</span> __INLINE q31_t __QADD(
<a name="l00862"></a>00862                    q31_t x,
<a name="l00863"></a>00863                    q31_t y)
<a name="l00864"></a>00864   {
<a name="l00865"></a>00865     <span class="keywordflow">return</span> clip_q63_to_q31((q63_t) x + y);
<a name="l00866"></a>00866   }
<a name="l00867"></a>00867 
<a name="l00868"></a>00868   <span class="comment">/*</span>
<a name="l00869"></a>00869 <span class="comment">   * @brief C custom defined QSUB for M3 and M0 processors</span>
<a name="l00870"></a>00870 <span class="comment">   */</span>
<a name="l00871"></a>00871   <span class="keyword">static</span> __INLINE q31_t __QSUB(
<a name="l00872"></a>00872                    q31_t x,
<a name="l00873"></a>00873                    q31_t y)
<a name="l00874"></a>00874   {
<a name="l00875"></a>00875     <span class="keywordflow">return</span> clip_q63_to_q31((q63_t) x - y);
<a name="l00876"></a>00876   }
<a name="l00877"></a>00877 
<a name="l00878"></a>00878   <span class="comment">/*</span>
<a name="l00879"></a>00879 <span class="comment">   * @brief C custom defined SMLAD for M3 and M0 processors</span>
<a name="l00880"></a>00880 <span class="comment">   */</span>
<a name="l00881"></a>00881   <span class="keyword">static</span> __INLINE q31_t __SMLAD(
<a name="l00882"></a>00882                 q31_t x,
<a name="l00883"></a>00883                 q31_t y,
<a name="l00884"></a>00884                 q31_t sum)
<a name="l00885"></a>00885   {
<a name="l00886"></a>00886 
<a name="l00887"></a>00887     <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
<a name="l00888"></a>00888             ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) y));
<a name="l00889"></a>00889   }
<a name="l00890"></a>00890 
<a name="l00891"></a>00891   <span class="comment">/*</span>
<a name="l00892"></a>00892 <span class="comment">   * @brief C custom defined SMLADX for M3 and M0 processors</span>
<a name="l00893"></a>00893 <span class="comment">   */</span>
<a name="l00894"></a>00894   <span class="keyword">static</span> __INLINE q31_t __SMLADX(
<a name="l00895"></a>00895                  q31_t x,
<a name="l00896"></a>00896                  q31_t y,
<a name="l00897"></a>00897                  q31_t sum)
<a name="l00898"></a>00898   {
<a name="l00899"></a>00899 
<a name="l00900"></a>00900     <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y)) +
<a name="l00901"></a>00901             ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
<a name="l00902"></a>00902   }
<a name="l00903"></a>00903 
<a name="l00904"></a>00904   <span class="comment">/*</span>
<a name="l00905"></a>00905 <span class="comment">   * @brief C custom defined SMLSDX for M3 and M0 processors</span>
<a name="l00906"></a>00906 <span class="comment">   */</span>
<a name="l00907"></a>00907   <span class="keyword">static</span> __INLINE q31_t __SMLSDX(
<a name="l00908"></a>00908                  q31_t x,
<a name="l00909"></a>00909                  q31_t y,
<a name="l00910"></a>00910                  q31_t sum)
<a name="l00911"></a>00911   {
<a name="l00912"></a>00912 
<a name="l00913"></a>00913     <span class="keywordflow">return</span> (sum - ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y)) +
<a name="l00914"></a>00914             ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)));
<a name="l00915"></a>00915   }
<a name="l00916"></a>00916 
<a name="l00917"></a>00917   <span class="comment">/*</span>
<a name="l00918"></a>00918 <span class="comment">   * @brief C custom defined SMLALD for M3 and M0 processors</span>
<a name="l00919"></a>00919 <span class="comment">   */</span>
<a name="l00920"></a>00920   <span class="keyword">static</span> __INLINE q63_t __SMLALD(
<a name="l00921"></a>00921                  q31_t x,
<a name="l00922"></a>00922                  q31_t y,
<a name="l00923"></a>00923                  q63_t sum)
<a name="l00924"></a>00924   {
<a name="l00925"></a>00925 
<a name="l00926"></a>00926     <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) (y &gt;&gt; 16)) +
<a name="l00927"></a>00927             ((<span class="keywordtype">short</span>) x * (<span class="keywordtype">short</span>) y));
<a name="l00928"></a>00928   }
<a name="l00929"></a>00929 
<a name="l00930"></a>00930   <span class="comment">/*</span>
<a name="l00931"></a>00931 <span class="comment">   * @brief C custom defined SMLALDX for M3 and M0 processors</span>
<a name="l00932"></a>00932 <span class="comment">   */</span>
<a name="l00933"></a>00933   <span class="keyword">static</span> __INLINE q63_t __SMLALDX(
<a name="l00934"></a>00934                   q31_t x,
<a name="l00935"></a>00935                   q31_t y,
<a name="l00936"></a>00936                   q63_t sum)
<a name="l00937"></a>00937   {
<a name="l00938"></a>00938 
<a name="l00939"></a>00939     <span class="keywordflow">return</span> (sum + ((<span class="keywordtype">short</span>) (x &gt;&gt; 16) * (<span class="keywordtype">short</span>) y)) +
<a name="l00940"></a>00940       ((short) x * (<span class="keywordtype">short</span>) (y &gt;&gt; 16));
<a name="l00941"></a>00941   }
<a name="l00942"></a>00942 
<a name="l00943"></a>00943   <span class="comment">/*</span>
<a name="l00944"></a>00944 <span class="comment">   * @brief C custom defined SMUAD for M3 and M0 processors</span>
<a name="l00945"></a>00945 <span class="comment">   */</span>
<a name="l00946"></a>00946   <span class="keyword">static</span> __INLINE q31_t __SMUAD(
<a name="l00947"></a>00947                 q31_t x,
<a name="l00948"></a>00948                 q31_t y)
<a name="l00949"></a>00949   {
<a name="l00950"></a>00950 
<a name="l00951"></a>00951     <span class="keywordflow">return</span> (((x &gt;&gt; 16) * (y &gt;&gt; 16)) +
<a name="l00952"></a>00952             (((x &lt;&lt; 16) &gt;&gt; 16) * ((y &lt;&lt; 16) &gt;&gt; 16)));
<a name="l00953"></a>00953   }
<a name="l00954"></a>00954 
<a name="l00955"></a>00955   <span class="comment">/*</span>
<a name="l00956"></a>00956 <span class="comment">   * @brief C custom defined SMUSD for M3 and M0 processors</span>
<a name="l00957"></a>00957 <span class="comment">   */</span>
<a name="l00958"></a>00958   <span class="keyword">static</span> __INLINE q31_t __SMUSD(
<a name="l00959"></a>00959                 q31_t x,
<a name="l00960"></a>00960                 q31_t y)
<a name="l00961"></a>00961   {
<a name="l00962"></a>00962 
<a name="l00963"></a>00963     <span class="keywordflow">return</span> (-((x &gt;&gt; 16) * (y &gt;&gt; 16)) +
<a name="l00964"></a>00964             (((x &lt;&lt; 16) &gt;&gt; 16) * ((y &lt;&lt; 16) &gt;&gt; 16)));
<a name="l00965"></a>00965   }
<a name="l00966"></a>00966 
<a name="l00967"></a>00967 
<a name="l00968"></a>00968 
<a name="l00969"></a>00969 
<a name="l00970"></a>00970 <span class="preprocessor">#endif </span><span class="comment">/* (ARM_MATH_CM3) || defined (ARM_MATH_CM0) */</span>
<a name="l00971"></a>00971 
<a name="l00972"></a>00972 
<a name="l00976"></a><a class="code" href="structarm__fir__instance__q7.html">00976</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00977"></a>00977   {
<a name="l00978"></a><a class="code" href="structarm__fir__instance__q7.html#a751941891e47f522a7f5375fe8990aac">00978</a>     uint16_t <a class="code" href="structarm__fir__instance__q7.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;        
<a name="l00979"></a><a class="code" href="structarm__fir__instance__q7.html#aa8f67102521b620af6f259afdcf29785">00979</a>     q7_t *<a class="code" href="structarm__fir__instance__q7.html#aa8f67102521b620af6f259afdcf29785">pState</a>;            
<a name="l00980"></a><a class="code" href="structarm__fir__instance__q7.html#a54407554b4fe7bbbb43924e4eea45e7f">00980</a>     q7_t *<a class="code" href="structarm__fir__instance__q7.html#a54407554b4fe7bbbb43924e4eea45e7f">pCoeffs</a>;           
<a name="l00981"></a>00981   } <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a>;
<a name="l00982"></a>00982 
<a name="l00986"></a><a class="code" href="structarm__fir__instance__q15.html">00986</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00987"></a>00987   {
<a name="l00988"></a><a class="code" href="structarm__fir__instance__q15.html#a751941891e47f522a7f5375fe8990aac">00988</a>     uint16_t <a class="code" href="structarm__fir__instance__q15.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;         
<a name="l00989"></a><a class="code" href="structarm__fir__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">00989</a>     q15_t *<a class="code" href="structarm__fir__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;            
<a name="l00990"></a><a class="code" href="structarm__fir__instance__q15.html#a7ca181a37f714d174445f486bebce26f">00990</a>     q15_t *<a class="code" href="structarm__fir__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;           
<a name="l00991"></a>00991   } <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a>;
<a name="l00992"></a>00992 
<a name="l00996"></a><a class="code" href="structarm__fir__instance__q31.html">00996</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l00997"></a>00997   {
<a name="l00998"></a><a class="code" href="structarm__fir__instance__q31.html#a751941891e47f522a7f5375fe8990aac">00998</a>     uint16_t <a class="code" href="structarm__fir__instance__q31.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;         
<a name="l00999"></a><a class="code" href="structarm__fir__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">00999</a>     q31_t *<a class="code" href="structarm__fir__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;            
<a name="l01000"></a><a class="code" href="structarm__fir__instance__q31.html#a68888e36167d81cb7836db10367a1682">01000</a>     q31_t *<a class="code" href="structarm__fir__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;           
<a name="l01001"></a>01001   } <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a>;
<a name="l01002"></a>01002 
<a name="l01006"></a><a class="code" href="structarm__fir__instance__f32.html">01006</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01007"></a>01007   {
<a name="l01008"></a><a class="code" href="structarm__fir__instance__f32.html#a751941891e47f522a7f5375fe8990aac">01008</a>     uint16_t <a class="code" href="structarm__fir__instance__f32.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;     
<a name="l01009"></a><a class="code" href="structarm__fir__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">01009</a>     float32_t *<a class="code" href="structarm__fir__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;    
<a name="l01010"></a><a class="code" href="structarm__fir__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">01010</a>     float32_t *<a class="code" href="structarm__fir__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;   
<a name="l01011"></a>01011   } <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a>;
<a name="l01012"></a>01012 
<a name="l01013"></a>01013 
<a name="l01022"></a>01022   <span class="keywordtype">void</span> arm_fir_q7(
<a name="l01023"></a>01023           <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a> * S,
<a name="l01024"></a>01024            q7_t * pSrc,
<a name="l01025"></a>01025           q7_t * pDst,
<a name="l01026"></a>01026           uint32_t blockSize);
<a name="l01027"></a>01027 
<a name="l01028"></a>01028 
<a name="l01038"></a>01038   <span class="keywordtype">void</span> arm_fir_init_q7(
<a name="l01039"></a>01039                <a class="code" href="structarm__fir__instance__q7.html" title="Instance structure for the Q7 FIR filter.">arm_fir_instance_q7</a> * S,
<a name="l01040"></a>01040                uint16_t numTaps,
<a name="l01041"></a>01041                q7_t * pCoeffs,
<a name="l01042"></a>01042                q7_t * pState,
<a name="l01043"></a>01043                uint32_t blockSize);
<a name="l01044"></a>01044 
<a name="l01045"></a>01045 
<a name="l01054"></a>01054   <span class="keywordtype">void</span> arm_fir_q15(
<a name="l01055"></a>01055            <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
<a name="l01056"></a>01056             q15_t * pSrc,
<a name="l01057"></a>01057            q15_t * pDst,
<a name="l01058"></a>01058            uint32_t blockSize);
<a name="l01059"></a>01059 
<a name="l01068"></a>01068   <span class="keywordtype">void</span> arm_fir_fast_q15(
<a name="l01069"></a>01069             <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
<a name="l01070"></a>01070              q15_t * pSrc,
<a name="l01071"></a>01071             q15_t * pDst,
<a name="l01072"></a>01072             uint32_t blockSize);
<a name="l01073"></a>01073 
<a name="l01085"></a>01085        arm_status arm_fir_init_q15(
<a name="l01086"></a>01086                   <a class="code" href="structarm__fir__instance__q15.html" title="Instance structure for the Q15 FIR filter.">arm_fir_instance_q15</a> * S,
<a name="l01087"></a>01087                   uint16_t numTaps,
<a name="l01088"></a>01088                   q15_t * pCoeffs,
<a name="l01089"></a>01089                   q15_t * pState,
<a name="l01090"></a>01090                   uint32_t blockSize);
<a name="l01091"></a>01091 
<a name="l01100"></a>01100   <span class="keywordtype">void</span> arm_fir_q31(
<a name="l01101"></a>01101            <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
<a name="l01102"></a>01102             q31_t * pSrc,
<a name="l01103"></a>01103            q31_t * pDst,
<a name="l01104"></a>01104            uint32_t blockSize);
<a name="l01105"></a>01105 
<a name="l01114"></a>01114   <span class="keywordtype">void</span> arm_fir_fast_q31(
<a name="l01115"></a>01115             <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
<a name="l01116"></a>01116              q31_t * pSrc,
<a name="l01117"></a>01117             q31_t * pDst,
<a name="l01118"></a>01118             uint32_t blockSize);
<a name="l01119"></a>01119 
<a name="l01129"></a>01129   <span class="keywordtype">void</span> arm_fir_init_q31(
<a name="l01130"></a>01130             <a class="code" href="structarm__fir__instance__q31.html" title="Instance structure for the Q31 FIR filter.">arm_fir_instance_q31</a> * S,
<a name="l01131"></a>01131             uint16_t numTaps,
<a name="l01132"></a>01132             q31_t * pCoeffs,
<a name="l01133"></a>01133             q31_t * pState,
<a name="l01134"></a>01134             uint32_t blockSize);
<a name="l01135"></a>01135 
<a name="l01144"></a>01144   <span class="keywordtype">void</span> arm_fir_f32(
<a name="l01145"></a>01145            <span class="keyword">const</span> <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a> * S,
<a name="l01146"></a>01146             float32_t * pSrc,
<a name="l01147"></a>01147            float32_t * pDst,
<a name="l01148"></a>01148            uint32_t blockSize);
<a name="l01149"></a>01149 
<a name="l01159"></a>01159   <span class="keywordtype">void</span> arm_fir_init_f32(
<a name="l01160"></a>01160             <a class="code" href="structarm__fir__instance__f32.html" title="Instance structure for the floating-point FIR filter.">arm_fir_instance_f32</a> * S,
<a name="l01161"></a>01161             uint16_t numTaps,
<a name="l01162"></a>01162             float32_t * pCoeffs,
<a name="l01163"></a>01163             float32_t * pState,
<a name="l01164"></a>01164             uint32_t blockSize);
<a name="l01165"></a>01165 
<a name="l01166"></a>01166 
<a name="l01170"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html">01170</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01171"></a>01171   {
<a name="l01172"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#af59c4ceb94f92d6613492b37e7c949de">01172</a>     int8_t <a class="code" href="structarm__biquad__casd__df1__inst__q15.html#af59c4ceb94f92d6613492b37e7c949de">numStages</a>;         
<a name="l01173"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ae29dfdb736374fcddaeaec4b7770170c">01173</a>     q15_t *<a class="code" href="structarm__biquad__casd__df1__inst__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;            
<a name="l01174"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a7ca181a37f714d174445f486bebce26f">01174</a>     q15_t *<a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;           
<a name="l01175"></a><a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a3603cbf084938b6931bcb05dfe487f09">01175</a>     int8_t <a class="code" href="structarm__biquad__casd__df1__inst__q15.html#a3603cbf084938b6931bcb05dfe487f09">postShift</a>;         
<a name="l01177"></a>01177   } <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a>;
<a name="l01178"></a>01178 
<a name="l01179"></a>01179 
<a name="l01183"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html">01183</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01184"></a>01184   {
<a name="l01185"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#aed9c8a6224cd149e8e12b17b25b9b767">01185</a>     uint32_t <a class="code" href="structarm__biquad__casd__df1__inst__q31.html#aed9c8a6224cd149e8e12b17b25b9b767">numStages</a>;      
<a name="l01186"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">01186</a>     q31_t *<a class="code" href="structarm__biquad__casd__df1__inst__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;           
<a name="l01187"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a68888e36167d81cb7836db10367a1682">01187</a>     q31_t *<a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;          
<a name="l01188"></a><a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a74050e9f36542bd56f4052381a82ae8f">01188</a>     uint8_t <a class="code" href="structarm__biquad__casd__df1__inst__q31.html#a74050e9f36542bd56f4052381a82ae8f">postShift</a>;       
<a name="l01190"></a>01190   } <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a>;
<a name="l01191"></a>01191 
<a name="l01195"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html">01195</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01196"></a>01196   {
<a name="l01197"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#aed9c8a6224cd149e8e12b17b25b9b767">01197</a>     uint32_t <a class="code" href="structarm__biquad__casd__df1__inst__f32.html#aed9c8a6224cd149e8e12b17b25b9b767">numStages</a>;         
<a name="l01198"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">01198</a>     float32_t *<a class="code" href="structarm__biquad__casd__df1__inst__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;          
<a name="l01199"></a><a class="code" href="structarm__biquad__casd__df1__inst__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">01199</a>     float32_t *<a class="code" href="structarm__biquad__casd__df1__inst__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;         
<a name="l01202"></a>01202   } <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a>;
<a name="l01203"></a>01203 
<a name="l01204"></a>01204 
<a name="l01205"></a>01205 
<a name="l01215"></a>01215   <span class="keywordtype">void</span> arm_biquad_cascade_df1_q15(
<a name="l01216"></a>01216                   <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
<a name="l01217"></a>01217                    q15_t * pSrc,
<a name="l01218"></a>01218                   q15_t * pDst,
<a name="l01219"></a>01219                   uint32_t blockSize);
<a name="l01220"></a>01220 
<a name="l01231"></a>01231   <span class="keywordtype">void</span> arm_biquad_cascade_df1_init_q15(
<a name="l01232"></a>01232                        <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
<a name="l01233"></a>01233                        uint8_t numStages,
<a name="l01234"></a>01234                        q15_t * pCoeffs,
<a name="l01235"></a>01235                        q15_t * pState,
<a name="l01236"></a>01236                        int8_t postShift);
<a name="l01237"></a>01237 
<a name="l01238"></a>01238 
<a name="l01248"></a>01248   <span class="keywordtype">void</span> arm_biquad_cascade_df1_fast_q15(
<a name="l01249"></a>01249                        <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q15.html" title="Instance structure for the Q15 Biquad cascade filter.">arm_biquad_casd_df1_inst_q15</a> * S,
<a name="l01250"></a>01250                         q15_t * pSrc,
<a name="l01251"></a>01251                        q15_t * pDst,
<a name="l01252"></a>01252                        uint32_t blockSize);
<a name="l01253"></a>01253 
<a name="l01254"></a>01254 
<a name="l01264"></a>01264   <span class="keywordtype">void</span> arm_biquad_cascade_df1_q31(
<a name="l01265"></a>01265                   <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
<a name="l01266"></a>01266                    q31_t * pSrc,
<a name="l01267"></a>01267                   q31_t * pDst,
<a name="l01268"></a>01268                   uint32_t blockSize);
<a name="l01269"></a>01269 
<a name="l01279"></a>01279   <span class="keywordtype">void</span> arm_biquad_cascade_df1_fast_q31(
<a name="l01280"></a>01280                        <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
<a name="l01281"></a>01281                         q31_t * pSrc,
<a name="l01282"></a>01282                        q31_t * pDst,
<a name="l01283"></a>01283                        uint32_t blockSize);
<a name="l01284"></a>01284 
<a name="l01295"></a>01295   <span class="keywordtype">void</span> arm_biquad_cascade_df1_init_q31(
<a name="l01296"></a>01296                        <a class="code" href="structarm__biquad__casd__df1__inst__q31.html" title="Instance structure for the Q31 Biquad cascade filter.">arm_biquad_casd_df1_inst_q31</a> * S,
<a name="l01297"></a>01297                        uint8_t numStages,
<a name="l01298"></a>01298                        q31_t * pCoeffs,
<a name="l01299"></a>01299                        q31_t * pState,
<a name="l01300"></a>01300                        int8_t postShift);
<a name="l01301"></a>01301 
<a name="l01311"></a>01311   <span class="keywordtype">void</span> arm_biquad_cascade_df1_f32(
<a name="l01312"></a>01312                   <span class="keyword">const</span> <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a> * S,
<a name="l01313"></a>01313                    float32_t * pSrc,
<a name="l01314"></a>01314                   float32_t * pDst,
<a name="l01315"></a>01315                   uint32_t blockSize);
<a name="l01316"></a>01316 
<a name="l01326"></a>01326   <span class="keywordtype">void</span> arm_biquad_cascade_df1_init_f32(
<a name="l01327"></a>01327                        <a class="code" href="structarm__biquad__casd__df1__inst__f32.html" title="Instance structure for the floating-point Biquad cascade filter.">arm_biquad_casd_df1_inst_f32</a> * S,
<a name="l01328"></a>01328                        uint8_t numStages,
<a name="l01329"></a>01329                        float32_t * pCoeffs,
<a name="l01330"></a>01330                        float32_t * pState);
<a name="l01331"></a>01331 
<a name="l01332"></a>01332 
<a name="l01337"></a><a class="code" href="structarm__matrix__instance__f32.html">01337</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01338"></a>01338   {
<a name="l01339"></a><a class="code" href="structarm__matrix__instance__f32.html#a1bcf80ccdc2acc29198f1592ae300390">01339</a>     uint16_t <a class="code" href="structarm__matrix__instance__f32.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;     
<a name="l01340"></a><a class="code" href="structarm__matrix__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01340</a>     uint16_t <a class="code" href="structarm__matrix__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;     
<a name="l01341"></a><a class="code" href="structarm__matrix__instance__f32.html#af5c3a2f15c98850cdcfbe6f87e5ac5df">01341</a>     float32_t *<a class="code" href="structarm__matrix__instance__f32.html#af5c3a2f15c98850cdcfbe6f87e5ac5df">pData</a>;     
<a name="l01342"></a>01342   } <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a>;
<a name="l01343"></a>01343 
<a name="l01348"></a><a class="code" href="structarm__matrix__instance__q15.html">01348</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01349"></a>01349   {
<a name="l01350"></a><a class="code" href="structarm__matrix__instance__q15.html#a1bcf80ccdc2acc29198f1592ae300390">01350</a>     uint16_t <a class="code" href="structarm__matrix__instance__q15.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;     
<a name="l01351"></a><a class="code" href="structarm__matrix__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01351</a>     uint16_t <a class="code" href="structarm__matrix__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;     
<a name="l01352"></a><a class="code" href="structarm__matrix__instance__q15.html#a817ede38365e63e561a12069c6c5c087">01352</a>     q15_t *<a class="code" href="structarm__matrix__instance__q15.html#a817ede38365e63e561a12069c6c5c087">pData</a>;         
<a name="l01354"></a>01354   } <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a>;
<a name="l01355"></a>01355 
<a name="l01360"></a><a class="code" href="structarm__matrix__instance__q31.html">01360</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01361"></a>01361   {
<a name="l01362"></a><a class="code" href="structarm__matrix__instance__q31.html#a1bcf80ccdc2acc29198f1592ae300390">01362</a>     uint16_t <a class="code" href="structarm__matrix__instance__q31.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;     
<a name="l01363"></a><a class="code" href="structarm__matrix__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01363</a>     uint16_t <a class="code" href="structarm__matrix__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;     
<a name="l01364"></a><a class="code" href="structarm__matrix__instance__q31.html#ad296f76577326ff280726323536eed6d">01364</a>     q31_t *<a class="code" href="structarm__matrix__instance__q31.html#ad296f76577326ff280726323536eed6d">pData</a>;         
<a name="l01366"></a>01366   } <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a>;
<a name="l01367"></a>01367 
<a name="l01368"></a>01368 
<a name="l01369"></a>01369 
<a name="l01379"></a>01379   arm_status arm_mat_add_f32(
<a name="l01380"></a>01380                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
<a name="l01381"></a>01381                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
<a name="l01382"></a>01382                  <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
<a name="l01383"></a>01383 
<a name="l01393"></a>01393   arm_status arm_mat_add_q15(
<a name="l01394"></a>01394                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
<a name="l01395"></a>01395                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
<a name="l01396"></a>01396                  <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
<a name="l01397"></a>01397 
<a name="l01407"></a>01407   arm_status arm_mat_add_q31(
<a name="l01408"></a>01408                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
<a name="l01409"></a>01409                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
<a name="l01410"></a>01410                  <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01411"></a>01411 
<a name="l01412"></a>01412 
<a name="l01421"></a>01421   arm_status arm_mat_trans_f32(
<a name="l01422"></a>01422                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrc,
<a name="l01423"></a>01423                    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
<a name="l01424"></a>01424 
<a name="l01425"></a>01425 
<a name="l01434"></a>01434   arm_status arm_mat_trans_q15(
<a name="l01435"></a>01435                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrc,
<a name="l01436"></a>01436                    <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
<a name="l01437"></a>01437 
<a name="l01446"></a>01446   arm_status arm_mat_trans_q31(
<a name="l01447"></a>01447                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrc,
<a name="l01448"></a>01448                    <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01449"></a>01449 
<a name="l01450"></a>01450 
<a name="l01460"></a>01460   arm_status arm_mat_mult_f32(
<a name="l01461"></a>01461                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
<a name="l01462"></a>01462                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
<a name="l01463"></a>01463                   <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
<a name="l01464"></a>01464 
<a name="l01474"></a>01474   arm_status arm_mat_mult_q15(
<a name="l01475"></a>01475                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
<a name="l01476"></a>01476                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
<a name="l01477"></a>01477                   <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst,
<a name="l01478"></a>01478                   q15_t * pState);
<a name="l01479"></a>01479 
<a name="l01490"></a>01490   arm_status arm_mat_mult_fast_q15(
<a name="l01491"></a>01491                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
<a name="l01492"></a>01492                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
<a name="l01493"></a>01493                    <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst,
<a name="l01494"></a>01494                    q15_t * pState);
<a name="l01495"></a>01495 
<a name="l01505"></a>01505   arm_status arm_mat_mult_q31(
<a name="l01506"></a>01506                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
<a name="l01507"></a>01507                   <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
<a name="l01508"></a>01508                   <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01509"></a>01509 
<a name="l01519"></a>01519   arm_status arm_mat_mult_fast_q31(
<a name="l01520"></a>01520                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
<a name="l01521"></a>01521                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
<a name="l01522"></a>01522                    <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01523"></a>01523 
<a name="l01524"></a>01524 
<a name="l01534"></a>01534   arm_status arm_mat_sub_f32(
<a name="l01535"></a>01535                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcA,
<a name="l01536"></a>01536                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrcB,
<a name="l01537"></a>01537                  <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
<a name="l01538"></a>01538 
<a name="l01548"></a>01548   arm_status arm_mat_sub_q15(
<a name="l01549"></a>01549                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcA,
<a name="l01550"></a>01550                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrcB,
<a name="l01551"></a>01551                  <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
<a name="l01552"></a>01552 
<a name="l01562"></a>01562   arm_status arm_mat_sub_q31(
<a name="l01563"></a>01563                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcA,
<a name="l01564"></a>01564                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrcB,
<a name="l01565"></a>01565                  <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01566"></a>01566 
<a name="l01576"></a>01576   arm_status arm_mat_scale_f32(
<a name="l01577"></a>01577                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pSrc,
<a name="l01578"></a>01578                    float32_t scale,
<a name="l01579"></a>01579                    <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * pDst);
<a name="l01580"></a>01580 
<a name="l01591"></a>01591   arm_status arm_mat_scale_q15(
<a name="l01592"></a>01592                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pSrc,
<a name="l01593"></a>01593                    q15_t scaleFract,
<a name="l01594"></a>01594                    int32_t shift,
<a name="l01595"></a>01595                    <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * pDst);
<a name="l01596"></a>01596 
<a name="l01607"></a>01607   arm_status arm_mat_scale_q31(
<a name="l01608"></a>01608                    <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pSrc,
<a name="l01609"></a>01609                    q31_t scaleFract,
<a name="l01610"></a>01610                    int32_t shift,
<a name="l01611"></a>01611                    <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * pDst);
<a name="l01612"></a>01612 
<a name="l01613"></a>01613 
<a name="l01623"></a>01623   <span class="keywordtype">void</span> arm_mat_init_q31(
<a name="l01624"></a>01624             <a class="code" href="structarm__matrix__instance__q31.html" title="Instance structure for the Q31 matrix structure.">arm_matrix_instance_q31</a> * S,
<a name="l01625"></a>01625             uint16_t nRows,
<a name="l01626"></a>01626             uint16_t nColumns,
<a name="l01627"></a>01627             q31_t   *pData);
<a name="l01628"></a>01628 
<a name="l01638"></a>01638   <span class="keywordtype">void</span> arm_mat_init_q15(
<a name="l01639"></a>01639             <a class="code" href="structarm__matrix__instance__q15.html" title="Instance structure for the Q15 matrix structure.">arm_matrix_instance_q15</a> * S,
<a name="l01640"></a>01640             uint16_t nRows,
<a name="l01641"></a>01641             uint16_t nColumns,
<a name="l01642"></a>01642             q15_t    *pData);
<a name="l01643"></a>01643 
<a name="l01653"></a>01653   <span class="keywordtype">void</span> arm_mat_init_f32(
<a name="l01654"></a>01654             <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * S,
<a name="l01655"></a>01655             uint16_t nRows,
<a name="l01656"></a>01656             uint16_t nColumns,
<a name="l01657"></a>01657             float32_t   *pData);
<a name="l01658"></a>01658 
<a name="l01659"></a>01659 
<a name="l01660"></a>01660 
<a name="l01664"></a><a class="code" href="structarm__pid__instance__q15.html">01664</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01665"></a>01665   {
<a name="l01666"></a><a class="code" href="structarm__pid__instance__q15.html#a1aa73268c65cea0c7bc66bb70ff35205">01666</a>     q15_t <a class="code" href="structarm__pid__instance__q15.html#a1aa73268c65cea0c7bc66bb70ff35205">A0</a>;    
<a name="l01667"></a>01667 <span class="preprocessor">    #ifdef ARM_MATH_CM0  </span>
<a name="l01668"></a>01668 <span class="preprocessor"></span>    q15_t A1;
<a name="l01669"></a>01669     q15_t A2; 
<a name="l01670"></a>01670 <span class="preprocessor">    #else         </span>
<a name="l01671"></a><a class="code" href="structarm__pid__instance__q15.html#aeb897c84724b56948e4222aca8d0e1f4">01671</a> <span class="preprocessor"></span>    q31_t <a class="code" href="structarm__pid__instance__q15.html#aeb897c84724b56948e4222aca8d0e1f4">A1</a>;           
<a name="l01672"></a>01672 <span class="preprocessor">    #endif </span>
<a name="l01673"></a><a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">01673</a> <span class="preprocessor"></span>    q15_t state[3];       
<a name="l01674"></a><a class="code" href="structarm__pid__instance__q15.html#afef61fb3b64c73f2cd0c91d9dcf95679">01674</a>     q15_t <a class="code" href="structarm__pid__instance__q15.html#afef61fb3b64c73f2cd0c91d9dcf95679">Kp</a>;           
<a name="l01675"></a><a class="code" href="structarm__pid__instance__q15.html#a19d5059baf06dd52266260d096702d0a">01675</a>     q15_t <a class="code" href="structarm__pid__instance__q15.html#a19d5059baf06dd52266260d096702d0a">Ki</a>;           
<a name="l01676"></a><a class="code" href="structarm__pid__instance__q15.html#abf38d18de1e16bc6d86846fedf8534fe">01676</a>     q15_t <a class="code" href="structarm__pid__instance__q15.html#abf38d18de1e16bc6d86846fedf8534fe">Kd</a>;           
<a name="l01677"></a>01677   } <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a>;
<a name="l01678"></a>01678 
<a name="l01682"></a><a class="code" href="structarm__pid__instance__q31.html">01682</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01683"></a>01683   {
<a name="l01684"></a><a class="code" href="structarm__pid__instance__q31.html#ab58496a4137da4c667915a5fc0ef57ef">01684</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#ab58496a4137da4c667915a5fc0ef57ef">A0</a>;            
<a name="l01685"></a><a class="code" href="structarm__pid__instance__q31.html#aeb897c84724b56948e4222aca8d0e1f4">01685</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#aeb897c84724b56948e4222aca8d0e1f4">A1</a>;            
<a name="l01686"></a><a class="code" href="structarm__pid__instance__q31.html#a4ae945f839719fb2c04c978724b78ebb">01686</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#a4ae945f839719fb2c04c978724b78ebb">A2</a>;            
<a name="l01687"></a><a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">01687</a>     q31_t state[3];      
<a name="l01688"></a><a class="code" href="structarm__pid__instance__q31.html#a6ec4b37fe2246a7e017dd07578fe5bbd">01688</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#a6ec4b37fe2246a7e017dd07578fe5bbd">Kp</a>;            
<a name="l01689"></a><a class="code" href="structarm__pid__instance__q31.html#a84a6c05c16369c905193da0d5fc9a7b0">01689</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#a84a6c05c16369c905193da0d5fc9a7b0">Ki</a>;            
<a name="l01690"></a><a class="code" href="structarm__pid__instance__q31.html#a213bbf14da7ea536998f611977173552">01690</a>     q31_t <a class="code" href="structarm__pid__instance__q31.html#a213bbf14da7ea536998f611977173552">Kd</a>;            
<a name="l01692"></a>01692   } <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a>;
<a name="l01693"></a>01693 
<a name="l01697"></a><a class="code" href="structarm__pid__instance__f32.html">01697</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01698"></a>01698   {
<a name="l01699"></a><a class="code" href="structarm__pid__instance__f32.html#afc2ed2bf70b7d9d84f49ee9ae7caa004">01699</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#afc2ed2bf70b7d9d84f49ee9ae7caa004">A0</a>;          
<a name="l01700"></a><a class="code" href="structarm__pid__instance__f32.html#a5e6785a3a5cf7b98f3bfc7b180d98273">01700</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#a5e6785a3a5cf7b98f3bfc7b180d98273">A1</a>;          
<a name="l01701"></a><a class="code" href="structarm__pid__instance__f32.html#a5b00947275caf079f351271bf41573fe">01701</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#a5b00947275caf079f351271bf41573fe">A2</a>;          
<a name="l01702"></a><a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">01702</a>     float32_t state[3];    
<a name="l01703"></a><a class="code" href="structarm__pid__instance__f32.html#abe23f3e122ef5f55398fcf77c793c425">01703</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#abe23f3e122ef5f55398fcf77c793c425">Kp</a>;               
<a name="l01704"></a><a class="code" href="structarm__pid__instance__f32.html#ad1a1aa1c10a2dca201a3422f82198777">01704</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#ad1a1aa1c10a2dca201a3422f82198777">Ki</a>;               
<a name="l01705"></a><a class="code" href="structarm__pid__instance__f32.html#ace6b9e405a991cbaf6b4c137ca0d51a3">01705</a>     float32_t <a class="code" href="structarm__pid__instance__f32.html#ace6b9e405a991cbaf6b4c137ca0d51a3">Kd</a>;               
<a name="l01706"></a>01706   } <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a>;
<a name="l01707"></a>01707 
<a name="l01708"></a>01708 
<a name="l01709"></a>01709 
<a name="l01716"></a>01716   <span class="keywordtype">void</span> arm_pid_init_f32(
<a name="l01717"></a>01717             <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S,
<a name="l01718"></a>01718             int32_t resetStateFlag);
<a name="l01719"></a>01719 
<a name="l01725"></a>01725   <span class="keywordtype">void</span> arm_pid_reset_f32(
<a name="l01726"></a>01726              <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S);
<a name="l01727"></a>01727 
<a name="l01728"></a>01728 
<a name="l01735"></a>01735   <span class="keywordtype">void</span> arm_pid_init_q31(
<a name="l01736"></a>01736             <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S,
<a name="l01737"></a>01737             int32_t resetStateFlag);
<a name="l01738"></a>01738 
<a name="l01739"></a>01739  
<a name="l01746"></a>01746   <span class="keywordtype">void</span> arm_pid_reset_q31(
<a name="l01747"></a>01747              <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S);
<a name="l01748"></a>01748 
<a name="l01755"></a>01755   <span class="keywordtype">void</span> arm_pid_init_q15(
<a name="l01756"></a>01756             <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S,
<a name="l01757"></a>01757             int32_t resetStateFlag);
<a name="l01758"></a>01758 
<a name="l01764"></a>01764   <span class="keywordtype">void</span> arm_pid_reset_q15(
<a name="l01765"></a>01765              <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S);
<a name="l01766"></a>01766 
<a name="l01767"></a>01767 
<a name="l01771"></a><a class="code" href="structarm__linear__interp__instance__f32.html">01771</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01772"></a>01772   {
<a name="l01773"></a>01773     uint32_t nValues;
<a name="l01774"></a>01774     float32_t x1;
<a name="l01775"></a>01775     float32_t xSpacing;
<a name="l01776"></a><a class="code" href="structarm__linear__interp__instance__f32.html#af1489866b69eb5db1e0afeb24c7b01e9">01776</a>     float32_t *<a class="code" href="structarm__linear__interp__instance__f32.html#af1489866b69eb5db1e0afeb24c7b01e9">pYData</a>;          
<a name="l01777"></a>01777   } <a class="code" href="structarm__linear__interp__instance__f32.html" title="Instance structure for the floating-point Linear Interpolate function.">arm_linear_interp_instance_f32</a>;
<a name="l01778"></a>01778 
<a name="l01783"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html">01783</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01784"></a>01784   {
<a name="l01785"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#a1bcf80ccdc2acc29198f1592ae300390">01785</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__f32.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;   
<a name="l01786"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01786</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;   
<a name="l01787"></a><a class="code" href="structarm__bilinear__interp__instance__f32.html#af5c3a2f15c98850cdcfbe6f87e5ac5df">01787</a>     float32_t *<a class="code" href="structarm__bilinear__interp__instance__f32.html#af5c3a2f15c98850cdcfbe6f87e5ac5df">pData</a>;   
<a name="l01788"></a>01788   } <a class="code" href="structarm__bilinear__interp__instance__f32.html" title="Instance structure for the floating-point bilinear interpolation function.">arm_bilinear_interp_instance_f32</a>;
<a name="l01789"></a>01789 
<a name="l01794"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html">01794</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01795"></a>01795   {
<a name="l01796"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#a1bcf80ccdc2acc29198f1592ae300390">01796</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q31.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;   
<a name="l01797"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01797</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;   
<a name="l01798"></a><a class="code" href="structarm__bilinear__interp__instance__q31.html#ad296f76577326ff280726323536eed6d">01798</a>     q31_t *<a class="code" href="structarm__bilinear__interp__instance__q31.html#ad296f76577326ff280726323536eed6d">pData</a>;   
<a name="l01799"></a>01799   } <a class="code" href="structarm__bilinear__interp__instance__q31.html" title="Instance structure for the Q31 bilinear interpolation function.">arm_bilinear_interp_instance_q31</a>;
<a name="l01800"></a>01800 
<a name="l01805"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html">01805</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01806"></a>01806   {
<a name="l01807"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a1bcf80ccdc2acc29198f1592ae300390">01807</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q15.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;   
<a name="l01808"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01808</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;   
<a name="l01809"></a><a class="code" href="structarm__bilinear__interp__instance__q15.html#a817ede38365e63e561a12069c6c5c087">01809</a>     q15_t *<a class="code" href="structarm__bilinear__interp__instance__q15.html#a817ede38365e63e561a12069c6c5c087">pData</a>;   
<a name="l01810"></a>01810   } <a class="code" href="structarm__bilinear__interp__instance__q15.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q15</a>;
<a name="l01811"></a>01811 
<a name="l01816"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html">01816</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01817"></a>01817   {
<a name="l01818"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#a1bcf80ccdc2acc29198f1592ae300390">01818</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q7.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>;   
<a name="l01819"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#a4bb5ec0d13eb4c9cf887aa8366a44117">01819</a>     uint16_t <a class="code" href="structarm__bilinear__interp__instance__q7.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;   
<a name="l01820"></a><a class="code" href="structarm__bilinear__interp__instance__q7.html#afde7546ea2ec5df9fe42fb04d128a016">01820</a>     q7_t *<a class="code" href="structarm__bilinear__interp__instance__q7.html#afde7546ea2ec5df9fe42fb04d128a016">pData</a>;        
<a name="l01821"></a>01821   } <a class="code" href="structarm__bilinear__interp__instance__q7.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q7</a>;
<a name="l01822"></a>01822 
<a name="l01823"></a>01823 
<a name="l01833"></a>01833   <span class="keywordtype">void</span> arm_mult_q7(
<a name="l01834"></a>01834             q7_t * pSrcA,
<a name="l01835"></a>01835             q7_t * pSrcB,
<a name="l01836"></a>01836            q7_t * pDst,
<a name="l01837"></a>01837            uint32_t blockSize);
<a name="l01838"></a>01838 
<a name="l01848"></a>01848   <span class="keywordtype">void</span> arm_mult_q15(
<a name="l01849"></a>01849              q15_t * pSrcA,
<a name="l01850"></a>01850              q15_t * pSrcB,
<a name="l01851"></a>01851             q15_t * pDst,
<a name="l01852"></a>01852             uint32_t blockSize);
<a name="l01853"></a>01853 
<a name="l01863"></a>01863   <span class="keywordtype">void</span> arm_mult_q31(
<a name="l01864"></a>01864              q31_t * pSrcA,
<a name="l01865"></a>01865              q31_t * pSrcB,
<a name="l01866"></a>01866             q31_t * pDst,
<a name="l01867"></a>01867             uint32_t blockSize);
<a name="l01868"></a>01868 
<a name="l01878"></a>01878   <span class="keywordtype">void</span> arm_mult_f32(
<a name="l01879"></a>01879              float32_t * pSrcA,
<a name="l01880"></a>01880              float32_t * pSrcB,
<a name="l01881"></a>01881             float32_t * pDst,
<a name="l01882"></a>01882             uint32_t blockSize);
<a name="l01883"></a>01883 
<a name="l01884"></a>01884 
<a name="l01889"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html">01889</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01890"></a>01890   {
<a name="l01891"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">01891</a>     uint16_t  <a class="code" href="structarm__cfft__radix4__instance__q15.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">fftLen</a>;                
<a name="l01892"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#ad6ca6e223f986ebfd94c5ee1e410aa73">01892</a>     uint8_t   <a class="code" href="structarm__cfft__radix4__instance__q15.html#ad6ca6e223f986ebfd94c5ee1e410aa73">ifftFlag</a>;              
<a name="l01893"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a09a221a818c6d0e064557a99e2fe9a8b">01893</a>     uint8_t   <a class="code" href="structarm__cfft__radix4__instance__q15.html#a09a221a818c6d0e064557a99e2fe9a8b">bitReverseFlag</a>;        
<a name="l01894"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#aa8c837c05b2c910342ab8f171d30dc02">01894</a>     q15_t     *<a class="code" href="structarm__cfft__radix4__instance__q15.html#aa8c837c05b2c910342ab8f171d30dc02">pTwiddle</a>;             
<a name="l01895"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a46a2fb328199897af100fea0bfdf59aa">01895</a>     uint16_t  *<a class="code" href="structarm__cfft__radix4__instance__q15.html#a46a2fb328199897af100fea0bfdf59aa">pBitRevTable</a>;         
<a name="l01896"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#afe772e5b5001c9d8e85032115a8df5bf">01896</a>     uint16_t  <a class="code" href="structarm__cfft__radix4__instance__q15.html#afe772e5b5001c9d8e85032115a8df5bf">twidCoefModifier</a>;      
<a name="l01897"></a><a class="code" href="structarm__cfft__radix4__instance__q15.html#a33386d95319dc3ee7097b3a8e52e01ec">01897</a>     uint16_t  <a class="code" href="structarm__cfft__radix4__instance__q15.html#a33386d95319dc3ee7097b3a8e52e01ec">bitRevFactor</a>;          
<a name="l01898"></a>01898   } <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a>;
<a name="l01899"></a>01899 
<a name="l01904"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html">01904</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01905"></a>01905   {
<a name="l01906"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">01906</a>     uint16_t    <a class="code" href="structarm__cfft__radix4__instance__q31.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">fftLen</a>;              
<a name="l01907"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#ad6ca6e223f986ebfd94c5ee1e410aa73">01907</a>     uint8_t     <a class="code" href="structarm__cfft__radix4__instance__q31.html#ad6ca6e223f986ebfd94c5ee1e410aa73">ifftFlag</a>;            
<a name="l01908"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a09a221a818c6d0e064557a99e2fe9a8b">01908</a>     uint8_t     <a class="code" href="structarm__cfft__radix4__instance__q31.html#a09a221a818c6d0e064557a99e2fe9a8b">bitReverseFlag</a>;      
<a name="l01909"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a2505b7d5ec077b244c712797a5253b6d">01909</a>     q31_t       *<a class="code" href="structarm__cfft__radix4__instance__q31.html#a2505b7d5ec077b244c712797a5253b6d">pTwiddle</a>;           
<a name="l01910"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a46a2fb328199897af100fea0bfdf59aa">01910</a>     uint16_t    *<a class="code" href="structarm__cfft__radix4__instance__q31.html#a46a2fb328199897af100fea0bfdf59aa">pBitRevTable</a>;       
<a name="l01911"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#afe772e5b5001c9d8e85032115a8df5bf">01911</a>     uint16_t    <a class="code" href="structarm__cfft__radix4__instance__q31.html#afe772e5b5001c9d8e85032115a8df5bf">twidCoefModifier</a>;    
<a name="l01912"></a><a class="code" href="structarm__cfft__radix4__instance__q31.html#a33386d95319dc3ee7097b3a8e52e01ec">01912</a>     uint16_t    <a class="code" href="structarm__cfft__radix4__instance__q31.html#a33386d95319dc3ee7097b3a8e52e01ec">bitRevFactor</a>;        
<a name="l01913"></a>01913   } <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a>;
<a name="l01914"></a>01914 
<a name="l01919"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html">01919</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l01920"></a>01920   {
<a name="l01921"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">01921</a>     uint16_t     <a class="code" href="structarm__cfft__radix4__instance__f32.html#ab8db3bbe7c61e6bb8ca2a55e3446e11a">fftLen</a>;               
<a name="l01922"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#ad6ca6e223f986ebfd94c5ee1e410aa73">01922</a>     uint8_t      <a class="code" href="structarm__cfft__radix4__instance__f32.html#ad6ca6e223f986ebfd94c5ee1e410aa73">ifftFlag</a>;             
<a name="l01923"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a09a221a818c6d0e064557a99e2fe9a8b">01923</a>     uint8_t      <a class="code" href="structarm__cfft__radix4__instance__f32.html#a09a221a818c6d0e064557a99e2fe9a8b">bitReverseFlag</a>;       
<a name="l01924"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#aca581481fccdff0f557f54a3ef20d967">01924</a>     float32_t    *<a class="code" href="structarm__cfft__radix4__instance__f32.html#aca581481fccdff0f557f54a3ef20d967">pTwiddle</a>;            
<a name="l01925"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a46a2fb328199897af100fea0bfdf59aa">01925</a>     uint16_t     *<a class="code" href="structarm__cfft__radix4__instance__f32.html#a46a2fb328199897af100fea0bfdf59aa">pBitRevTable</a>;        
<a name="l01926"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#afe772e5b5001c9d8e85032115a8df5bf">01926</a>     uint16_t     <a class="code" href="structarm__cfft__radix4__instance__f32.html#afe772e5b5001c9d8e85032115a8df5bf">twidCoefModifier</a>;     
<a name="l01927"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#a33386d95319dc3ee7097b3a8e52e01ec">01927</a>     uint16_t     <a class="code" href="structarm__cfft__radix4__instance__f32.html#a33386d95319dc3ee7097b3a8e52e01ec">bitRevFactor</a>;         
<a name="l01928"></a><a class="code" href="structarm__cfft__radix4__instance__f32.html#acf295a7b97b7d48a9cae4d1ab5ed00f6">01928</a>     float32_t    <a class="code" href="structarm__cfft__radix4__instance__f32.html#acf295a7b97b7d48a9cae4d1ab5ed00f6">onebyfftLen</a>;          
<a name="l01929"></a>01929   } <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a>;
<a name="l01930"></a>01930 
<a name="l01938"></a>01938   <span class="keywordtype">void</span> arm_cfft_radix4_q15(
<a name="l01939"></a>01939                <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S,
<a name="l01940"></a>01940                q15_t * pSrc);
<a name="l01941"></a>01941 
<a name="l01951"></a>01951   arm_status arm_cfft_radix4_init_q15(
<a name="l01952"></a>01952                       <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S,
<a name="l01953"></a>01953                       uint16_t fftLen,
<a name="l01954"></a>01954                       uint8_t ifftFlag,
<a name="l01955"></a>01955                       uint8_t bitReverseFlag);
<a name="l01956"></a>01956 
<a name="l01964"></a>01964   <span class="keywordtype">void</span> arm_cfft_radix4_q31(
<a name="l01965"></a>01965                <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S,
<a name="l01966"></a>01966                q31_t * pSrc);
<a name="l01967"></a>01967 
<a name="l01977"></a>01977   arm_status arm_cfft_radix4_init_q31(
<a name="l01978"></a>01978                       <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S,
<a name="l01979"></a>01979                       uint16_t fftLen,
<a name="l01980"></a>01980                       uint8_t ifftFlag,
<a name="l01981"></a>01981                       uint8_t bitReverseFlag);
<a name="l01982"></a>01982 
<a name="l01990"></a>01990   <span class="keywordtype">void</span> arm_cfft_radix4_f32(
<a name="l01991"></a>01991                <span class="keyword">const</span> <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S,
<a name="l01992"></a>01992                float32_t * pSrc);
<a name="l01993"></a>01993 
<a name="l02003"></a>02003   arm_status arm_cfft_radix4_init_f32(
<a name="l02004"></a>02004                       <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S,
<a name="l02005"></a>02005                       uint16_t fftLen,
<a name="l02006"></a>02006                       uint8_t ifftFlag,
<a name="l02007"></a>02007                       uint8_t bitReverseFlag);
<a name="l02008"></a>02008 
<a name="l02009"></a>02009 
<a name="l02010"></a>02010 
<a name="l02011"></a>02011   <span class="comment">/*----------------------------------------------------------------------</span>
<a name="l02012"></a>02012 <span class="comment">   *        Internal functions prototypes FFT function</span>
<a name="l02013"></a>02013 <span class="comment">   ----------------------------------------------------------------------*/</span>
<a name="l02014"></a>02014 
<a name="l02024"></a>02024   <span class="keywordtype">void</span> arm_radix4_butterfly_f32(
<a name="l02025"></a>02025                 float32_t * pSrc,
<a name="l02026"></a>02026                 uint16_t fftLen,
<a name="l02027"></a>02027                 float32_t * pCoef,
<a name="l02028"></a>02028                 uint16_t twidCoefModifier);
<a name="l02029"></a>02029 
<a name="l02040"></a>02040   <span class="keywordtype">void</span> arm_radix4_butterfly_inverse_f32(
<a name="l02041"></a>02041                     float32_t * pSrc,
<a name="l02042"></a>02042                     uint16_t fftLen,
<a name="l02043"></a>02043                     float32_t * pCoef,
<a name="l02044"></a>02044                     uint16_t twidCoefModifier,
<a name="l02045"></a>02045                     float32_t onebyfftLen);
<a name="l02046"></a>02046 
<a name="l02056"></a>02056   <span class="keywordtype">void</span> arm_bitreversal_f32(
<a name="l02057"></a>02057                float32_t *pSrc,
<a name="l02058"></a>02058                uint16_t fftSize,
<a name="l02059"></a>02059                uint16_t bitRevFactor,
<a name="l02060"></a>02060                uint16_t *pBitRevTab);
<a name="l02061"></a>02061 
<a name="l02071"></a>02071   <span class="keywordtype">void</span> arm_radix4_butterfly_q31(
<a name="l02072"></a>02072                 q31_t *pSrc,
<a name="l02073"></a>02073                 uint32_t fftLen,
<a name="l02074"></a>02074                 q31_t *pCoef,
<a name="l02075"></a>02075                 uint32_t twidCoefModifier);
<a name="l02076"></a>02076 
<a name="l02086"></a>02086   <span class="keywordtype">void</span> arm_radix4_butterfly_inverse_q31(
<a name="l02087"></a>02087                     q31_t * pSrc,
<a name="l02088"></a>02088                     uint32_t fftLen,
<a name="l02089"></a>02089                     q31_t * pCoef,
<a name="l02090"></a>02090                     uint32_t twidCoefModifier);
<a name="l02091"></a>02091   
<a name="l02101"></a>02101   <span class="keywordtype">void</span> arm_bitreversal_q31(
<a name="l02102"></a>02102                q31_t * pSrc,
<a name="l02103"></a>02103                uint32_t fftLen,
<a name="l02104"></a>02104                uint16_t bitRevFactor,
<a name="l02105"></a>02105                uint16_t *pBitRevTab);
<a name="l02106"></a>02106 
<a name="l02116"></a>02116   <span class="keywordtype">void</span> arm_radix4_butterfly_q15(
<a name="l02117"></a>02117                 q15_t *pSrc16,
<a name="l02118"></a>02118                 uint32_t fftLen,
<a name="l02119"></a>02119                 q15_t *pCoef16,
<a name="l02120"></a>02120                 uint32_t twidCoefModifier);
<a name="l02121"></a>02121 
<a name="l02131"></a>02131   <span class="keywordtype">void</span> arm_radix4_butterfly_inverse_q15(
<a name="l02132"></a>02132                     q15_t *pSrc16,
<a name="l02133"></a>02133                     uint32_t fftLen,
<a name="l02134"></a>02134                     q15_t *pCoef16,
<a name="l02135"></a>02135                     uint32_t twidCoefModifier);
<a name="l02136"></a>02136 
<a name="l02146"></a>02146   <span class="keywordtype">void</span> arm_bitreversal_q15(
<a name="l02147"></a>02147                q15_t * pSrc,
<a name="l02148"></a>02148                uint32_t fftLen,
<a name="l02149"></a>02149                uint16_t bitRevFactor,
<a name="l02150"></a>02150                uint16_t *pBitRevTab);
<a name="l02151"></a>02151 
<a name="l02156"></a><a class="code" href="structarm__rfft__instance__q15.html">02156</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02157"></a>02157   {
<a name="l02158"></a><a class="code" href="structarm__rfft__instance__q15.html#adf0d4604cf5546075d9d4cf122d6c986">02158</a>     uint32_t <a class="code" href="structarm__rfft__instance__q15.html#adf0d4604cf5546075d9d4cf122d6c986">fftLenReal</a>;                      
<a name="l02159"></a><a class="code" href="structarm__rfft__instance__q15.html#ae7db13e0e2999656d98c4223de5b1284">02159</a>     uint32_t <a class="code" href="structarm__rfft__instance__q15.html#ae7db13e0e2999656d98c4223de5b1284">fftLenBy2</a>;                       
<a name="l02160"></a><a class="code" href="structarm__rfft__instance__q15.html#a787d72055c89e4d62b188d6bd646341c">02160</a>     uint8_t  <a class="code" href="structarm__rfft__instance__q15.html#a787d72055c89e4d62b188d6bd646341c">ifftFlagR</a>;                       
<a name="l02161"></a><a class="code" href="structarm__rfft__instance__q15.html#ad56ec2425e2422108b8767b43d944591">02161</a>     uint8_t  <a class="code" href="structarm__rfft__instance__q15.html#ad56ec2425e2422108b8767b43d944591">bitReverseFlagR</a>;                 
<a name="l02162"></a><a class="code" href="structarm__rfft__instance__q15.html#a5b06f7f76c018db993fe6acc5708c589">02162</a>     uint32_t <a class="code" href="structarm__rfft__instance__q15.html#a5b06f7f76c018db993fe6acc5708c589">twidCoefRModifier</a>;               
<a name="l02163"></a><a class="code" href="structarm__rfft__instance__q15.html#ac17beaa033ab1ea242d49037276b67e2">02163</a>     q15_t    *<a class="code" href="structarm__rfft__instance__q15.html#ac17beaa033ab1ea242d49037276b67e2">pTwiddleAReal</a>;                  
<a name="l02164"></a><a class="code" href="structarm__rfft__instance__q15.html#a67a618de57c3a7420ee05fda1a80bf3a">02164</a>     q15_t    *<a class="code" href="structarm__rfft__instance__q15.html#a67a618de57c3a7420ee05fda1a80bf3a">pTwiddleBReal</a>;                  
<a name="l02165"></a><a class="code" href="structarm__rfft__instance__q15.html#ae0ac7c3a89699793fc0dac960db7f056">02165</a>     <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> *<a class="code" href="structarm__rfft__instance__q15.html#ae0ac7c3a89699793fc0dac960db7f056">pCfft</a>;      
<a name="l02166"></a>02166   } <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a>;
<a name="l02167"></a>02167 
<a name="l02172"></a><a class="code" href="structarm__rfft__instance__q31.html">02172</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02173"></a>02173   {
<a name="l02174"></a><a class="code" href="structarm__rfft__instance__q31.html#adf0d4604cf5546075d9d4cf122d6c986">02174</a>     uint32_t <a class="code" href="structarm__rfft__instance__q31.html#adf0d4604cf5546075d9d4cf122d6c986">fftLenReal</a>;                        
<a name="l02175"></a><a class="code" href="structarm__rfft__instance__q31.html#ae7db13e0e2999656d98c4223de5b1284">02175</a>     uint32_t <a class="code" href="structarm__rfft__instance__q31.html#ae7db13e0e2999656d98c4223de5b1284">fftLenBy2</a>;                         
<a name="l02176"></a><a class="code" href="structarm__rfft__instance__q31.html#a787d72055c89e4d62b188d6bd646341c">02176</a>     uint8_t  <a class="code" href="structarm__rfft__instance__q31.html#a787d72055c89e4d62b188d6bd646341c">ifftFlagR</a>;                         
<a name="l02177"></a><a class="code" href="structarm__rfft__instance__q31.html#ad56ec2425e2422108b8767b43d944591">02177</a>     uint8_t  <a class="code" href="structarm__rfft__instance__q31.html#ad56ec2425e2422108b8767b43d944591">bitReverseFlagR</a>;                   
<a name="l02178"></a><a class="code" href="structarm__rfft__instance__q31.html#a5b06f7f76c018db993fe6acc5708c589">02178</a>     uint32_t <a class="code" href="structarm__rfft__instance__q31.html#a5b06f7f76c018db993fe6acc5708c589">twidCoefRModifier</a>;                 
<a name="l02179"></a><a class="code" href="structarm__rfft__instance__q31.html#a059faa282f9186687d843ead4a7a0d7e">02179</a>     q31_t    *<a class="code" href="structarm__rfft__instance__q31.html#a059faa282f9186687d843ead4a7a0d7e">pTwiddleAReal</a>;                    
<a name="l02180"></a><a class="code" href="structarm__rfft__instance__q31.html#a611c385424ce77519f599980f96d5846">02180</a>     q31_t    *<a class="code" href="structarm__rfft__instance__q31.html#a611c385424ce77519f599980f96d5846">pTwiddleBReal</a>;                    
<a name="l02181"></a><a class="code" href="structarm__rfft__instance__q31.html#a0b1f4a05c1824bab3b9bd837a260232a">02181</a>     <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> *<a class="code" href="structarm__rfft__instance__q31.html#a0b1f4a05c1824bab3b9bd837a260232a">pCfft</a>;        
<a name="l02182"></a>02182   } <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a>;
<a name="l02183"></a>02183 
<a name="l02188"></a><a class="code" href="structarm__rfft__instance__f32.html">02188</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02189"></a>02189   {
<a name="l02190"></a><a class="code" href="structarm__rfft__instance__f32.html#adf0d4604cf5546075d9d4cf122d6c986">02190</a>     uint32_t  <a class="code" href="structarm__rfft__instance__f32.html#adf0d4604cf5546075d9d4cf122d6c986">fftLenReal</a>;                       
<a name="l02191"></a><a class="code" href="structarm__rfft__instance__f32.html#a206b7cd92c35fde3432e5b9a0650c42c">02191</a>     uint16_t  <a class="code" href="structarm__rfft__instance__f32.html#a206b7cd92c35fde3432e5b9a0650c42c">fftLenBy2</a>;                        
<a name="l02192"></a><a class="code" href="structarm__rfft__instance__f32.html#a787d72055c89e4d62b188d6bd646341c">02192</a>     uint8_t   <a class="code" href="structarm__rfft__instance__f32.html#a787d72055c89e4d62b188d6bd646341c">ifftFlagR</a>;                        
<a name="l02193"></a><a class="code" href="structarm__rfft__instance__f32.html#ad56ec2425e2422108b8767b43d944591">02193</a>     uint8_t   <a class="code" href="structarm__rfft__instance__f32.html#ad56ec2425e2422108b8767b43d944591">bitReverseFlagR</a>;                  
<a name="l02194"></a><a class="code" href="structarm__rfft__instance__f32.html#a5b06f7f76c018db993fe6acc5708c589">02194</a>     uint32_t  <a class="code" href="structarm__rfft__instance__f32.html#a5b06f7f76c018db993fe6acc5708c589">twidCoefRModifier</a>;                
<a name="l02195"></a><a class="code" href="structarm__rfft__instance__f32.html#a1fb731395d060f9999c91c242b3e8a61">02195</a>     float32_t *<a class="code" href="structarm__rfft__instance__f32.html#a1fb731395d060f9999c91c242b3e8a61">pTwiddleAReal</a>;                   
<a name="l02196"></a><a class="code" href="structarm__rfft__instance__f32.html#ab13a458744ac79bb23784351e8002382">02196</a>     float32_t *<a class="code" href="structarm__rfft__instance__f32.html#ab13a458744ac79bb23784351e8002382">pTwiddleBReal</a>;                   
<a name="l02197"></a><a class="code" href="structarm__rfft__instance__f32.html#ab7bd4d374a1780dea50efd3e7ac220be">02197</a>     <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> *<a class="code" href="structarm__rfft__instance__f32.html#ab7bd4d374a1780dea50efd3e7ac220be">pCfft</a>;        
<a name="l02198"></a>02198   } <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a>;
<a name="l02199"></a>02199 
<a name="l02208"></a>02208   <span class="keywordtype">void</span> arm_rfft_q15(
<a name="l02209"></a>02209             <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S,
<a name="l02210"></a>02210             q15_t * pSrc,
<a name="l02211"></a>02211             q15_t * pDst);
<a name="l02212"></a>02212 
<a name="l02223"></a>02223   arm_status arm_rfft_init_q15(
<a name="l02224"></a>02224                    <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S,
<a name="l02225"></a>02225                    <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S_CFFT,
<a name="l02226"></a>02226                    uint32_t fftLenReal,
<a name="l02227"></a>02227                    uint32_t ifftFlagR,
<a name="l02228"></a>02228                    uint32_t bitReverseFlag);
<a name="l02229"></a>02229 
<a name="l02238"></a>02238   <span class="keywordtype">void</span> arm_rfft_q31(
<a name="l02239"></a>02239             <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S,
<a name="l02240"></a>02240             q31_t * pSrc,
<a name="l02241"></a>02241             q31_t * pDst);
<a name="l02242"></a>02242 
<a name="l02253"></a>02253   arm_status arm_rfft_init_q31(
<a name="l02254"></a>02254                    <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S,
<a name="l02255"></a>02255                    <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S_CFFT,
<a name="l02256"></a>02256                    uint32_t fftLenReal,
<a name="l02257"></a>02257                    uint32_t ifftFlagR,
<a name="l02258"></a>02258                    uint32_t bitReverseFlag);
<a name="l02259"></a>02259 
<a name="l02270"></a>02270   arm_status arm_rfft_init_f32(
<a name="l02271"></a>02271                    <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S,
<a name="l02272"></a>02272                    <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S_CFFT,
<a name="l02273"></a>02273                    uint32_t fftLenReal,
<a name="l02274"></a>02274                    uint32_t ifftFlagR,
<a name="l02275"></a>02275                    uint32_t bitReverseFlag);
<a name="l02276"></a>02276 
<a name="l02285"></a>02285   <span class="keywordtype">void</span> arm_rfft_f32(
<a name="l02286"></a>02286             <span class="keyword">const</span> <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S,
<a name="l02287"></a>02287             float32_t * pSrc,
<a name="l02288"></a>02288             float32_t * pDst);
<a name="l02289"></a>02289 
<a name="l02294"></a><a class="code" href="structarm__dct4__instance__f32.html">02294</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02295"></a>02295   {
<a name="l02296"></a><a class="code" href="structarm__dct4__instance__f32.html#a37d49571fe35012087153c093705cd11">02296</a>     uint16_t <a class="code" href="structarm__dct4__instance__f32.html#a37d49571fe35012087153c093705cd11">N</a>;                         
<a name="l02297"></a><a class="code" href="structarm__dct4__instance__f32.html#afa64b1618089e35c2b55cff71cb29715">02297</a>     uint16_t <a class="code" href="structarm__dct4__instance__f32.html#afa64b1618089e35c2b55cff71cb29715">Nby2</a>;                      
<a name="l02298"></a><a class="code" href="structarm__dct4__instance__f32.html#a1bf2ed86ef2c3dd83af606bb3f520f2a">02298</a>     float32_t <a class="code" href="structarm__dct4__instance__f32.html#a1bf2ed86ef2c3dd83af606bb3f520f2a">normalize</a>;                
<a name="l02299"></a><a class="code" href="structarm__dct4__instance__f32.html#aca581481fccdff0f557f54a3ef20d967">02299</a>     float32_t *<a class="code" href="structarm__dct4__instance__f32.html#aca581481fccdff0f557f54a3ef20d967">pTwiddle</a>;                
<a name="l02300"></a><a class="code" href="structarm__dct4__instance__f32.html#abd73b9d7fb4951ba086e4820c2a48eb0">02300</a>     float32_t *<a class="code" href="structarm__dct4__instance__f32.html#abd73b9d7fb4951ba086e4820c2a48eb0">pCosFactor</a>;              
<a name="l02301"></a><a class="code" href="structarm__dct4__instance__f32.html#ad4cd7c85eea3f7c5fff4630bbd979e6a">02301</a>     <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> *<a class="code" href="structarm__dct4__instance__f32.html#ad4cd7c85eea3f7c5fff4630bbd979e6a">pRfft</a>;        
<a name="l02302"></a><a class="code" href="structarm__dct4__instance__f32.html#ab7bd4d374a1780dea50efd3e7ac220be">02302</a>     <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> *<a class="code" href="structarm__dct4__instance__f32.html#ab7bd4d374a1780dea50efd3e7ac220be">pCfft</a>; 
<a name="l02303"></a>02303   } <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a>;
<a name="l02304"></a>02304 
<a name="l02316"></a>02316   arm_status arm_dct4_init_f32(
<a name="l02317"></a>02317                    <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a> * S,
<a name="l02318"></a>02318                    <a class="code" href="structarm__rfft__instance__f32.html" title="Instance structure for the floating-point RFFT/RIFFT function.">arm_rfft_instance_f32</a> * S_RFFT,
<a name="l02319"></a>02319                    <a class="code" href="structarm__cfft__radix4__instance__f32.html" title="Instance structure for the floating-point CFFT/CIFFT function.">arm_cfft_radix4_instance_f32</a> * S_CFFT,
<a name="l02320"></a>02320                    uint16_t N,
<a name="l02321"></a>02321                    uint16_t Nby2,
<a name="l02322"></a>02322                    float32_t normalize);
<a name="l02323"></a>02323 
<a name="l02332"></a>02332   <span class="keywordtype">void</span> arm_dct4_f32(
<a name="l02333"></a>02333             <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__f32.html" title="Instance structure for the floating-point DCT4/IDCT4 function.">arm_dct4_instance_f32</a> * S,
<a name="l02334"></a>02334             float32_t * pState,
<a name="l02335"></a>02335             float32_t * pInlineBuffer);
<a name="l02336"></a>02336 
<a name="l02341"></a><a class="code" href="structarm__dct4__instance__q31.html">02341</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02342"></a>02342   {
<a name="l02343"></a><a class="code" href="structarm__dct4__instance__q31.html#a37d49571fe35012087153c093705cd11">02343</a>     uint16_t <a class="code" href="structarm__dct4__instance__q31.html#a37d49571fe35012087153c093705cd11">N</a>;                         
<a name="l02344"></a><a class="code" href="structarm__dct4__instance__q31.html#afa64b1618089e35c2b55cff71cb29715">02344</a>     uint16_t <a class="code" href="structarm__dct4__instance__q31.html#afa64b1618089e35c2b55cff71cb29715">Nby2</a>;                      
<a name="l02345"></a><a class="code" href="structarm__dct4__instance__q31.html#a3a2f571658a202a38fa508098001b47c">02345</a>     q31_t <a class="code" href="structarm__dct4__instance__q31.html#a3a2f571658a202a38fa508098001b47c">normalize</a>;                    
<a name="l02346"></a><a class="code" href="structarm__dct4__instance__q31.html#a2505b7d5ec077b244c712797a5253b6d">02346</a>     q31_t *<a class="code" href="structarm__dct4__instance__q31.html#a2505b7d5ec077b244c712797a5253b6d">pTwiddle</a>;                    
<a name="l02347"></a><a class="code" href="structarm__dct4__instance__q31.html#af06acf18dc6547fc29aba2eb68cc63f0">02347</a>     q31_t *<a class="code" href="structarm__dct4__instance__q31.html#af06acf18dc6547fc29aba2eb68cc63f0">pCosFactor</a>;                  
<a name="l02348"></a><a class="code" href="structarm__dct4__instance__q31.html#a16c74f8496e1691e62da3c57e0c676eb">02348</a>     <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> *<a class="code" href="structarm__dct4__instance__q31.html#a16c74f8496e1691e62da3c57e0c676eb">pRfft</a>;        
<a name="l02349"></a><a class="code" href="structarm__dct4__instance__q31.html#a0b1f4a05c1824bab3b9bd837a260232a">02349</a>     <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> *<a class="code" href="structarm__dct4__instance__q31.html#a0b1f4a05c1824bab3b9bd837a260232a">pCfft</a>; 
<a name="l02350"></a>02350   } <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a>;
<a name="l02351"></a>02351 
<a name="l02363"></a>02363   arm_status arm_dct4_init_q31(
<a name="l02364"></a>02364                    <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a> * S,
<a name="l02365"></a>02365                    <a class="code" href="structarm__rfft__instance__q31.html" title="Instance structure for the Q31 RFFT/RIFFT function.">arm_rfft_instance_q31</a> * S_RFFT,
<a name="l02366"></a>02366                    <a class="code" href="structarm__cfft__radix4__instance__q31.html" title="Instance structure for the Q31 CFFT/CIFFT function.">arm_cfft_radix4_instance_q31</a> * S_CFFT,
<a name="l02367"></a>02367                    uint16_t N,
<a name="l02368"></a>02368                    uint16_t Nby2,
<a name="l02369"></a>02369                    q31_t normalize);
<a name="l02370"></a>02370 
<a name="l02379"></a>02379   <span class="keywordtype">void</span> arm_dct4_q31(
<a name="l02380"></a>02380             <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__q31.html" title="Instance structure for the Q31 DCT4/IDCT4 function.">arm_dct4_instance_q31</a> * S,
<a name="l02381"></a>02381             q31_t * pState,
<a name="l02382"></a>02382             q31_t * pInlineBuffer);
<a name="l02383"></a>02383 
<a name="l02388"></a><a class="code" href="structarm__dct4__instance__q15.html">02388</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l02389"></a>02389   {
<a name="l02390"></a><a class="code" href="structarm__dct4__instance__q15.html#a37d49571fe35012087153c093705cd11">02390</a>     uint16_t <a class="code" href="structarm__dct4__instance__q15.html#a37d49571fe35012087153c093705cd11">N</a>;                         
<a name="l02391"></a><a class="code" href="structarm__dct4__instance__q15.html#afa64b1618089e35c2b55cff71cb29715">02391</a>     uint16_t <a class="code" href="structarm__dct4__instance__q15.html#afa64b1618089e35c2b55cff71cb29715">Nby2</a>;                      
<a name="l02392"></a><a class="code" href="structarm__dct4__instance__q15.html#a8ba8c9fa75542dac82553fee982ccd3e">02392</a>     q15_t <a class="code" href="structarm__dct4__instance__q15.html#a8ba8c9fa75542dac82553fee982ccd3e">normalize</a>;                    
<a name="l02393"></a><a class="code" href="structarm__dct4__instance__q15.html#aa8c837c05b2c910342ab8f171d30dc02">02393</a>     q15_t *<a class="code" href="structarm__dct4__instance__q15.html#aa8c837c05b2c910342ab8f171d30dc02">pTwiddle</a>;                    
<a name="l02394"></a><a class="code" href="structarm__dct4__instance__q15.html#a9d858d313cbba67ceaef9704bc9c43b0">02394</a>     q15_t *<a class="code" href="structarm__dct4__instance__q15.html#a9d858d313cbba67ceaef9704bc9c43b0">pCosFactor</a>;                  
<a name="l02395"></a><a class="code" href="structarm__dct4__instance__q15.html#aea6aa42c838f2b22c8c31e9e259b8d75">02395</a>     <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> *<a class="code" href="structarm__dct4__instance__q15.html#aea6aa42c838f2b22c8c31e9e259b8d75">pRfft</a>;        
<a name="l02396"></a><a class="code" href="structarm__dct4__instance__q15.html#ae0ac7c3a89699793fc0dac960db7f056">02396</a>     <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> *<a class="code" href="structarm__dct4__instance__q15.html#ae0ac7c3a89699793fc0dac960db7f056">pCfft</a>; 
<a name="l02397"></a>02397   } <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a>;
<a name="l02398"></a>02398 
<a name="l02410"></a>02410   arm_status arm_dct4_init_q15(
<a name="l02411"></a>02411                    <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a> * S,
<a name="l02412"></a>02412                    <a class="code" href="structarm__rfft__instance__q15.html" title="Instance structure for the Q15 RFFT/RIFFT function.">arm_rfft_instance_q15</a> * S_RFFT,
<a name="l02413"></a>02413                    <a class="code" href="structarm__cfft__radix4__instance__q15.html" title="Instance structure for the Q15 CFFT/CIFFT function.">arm_cfft_radix4_instance_q15</a> * S_CFFT,
<a name="l02414"></a>02414                    uint16_t N,
<a name="l02415"></a>02415                    uint16_t Nby2,
<a name="l02416"></a>02416                    q15_t normalize);
<a name="l02417"></a>02417 
<a name="l02426"></a>02426   <span class="keywordtype">void</span> arm_dct4_q15(
<a name="l02427"></a>02427             <span class="keyword">const</span> <a class="code" href="structarm__dct4__instance__q15.html" title="Instance structure for the Q15 DCT4/IDCT4 function.">arm_dct4_instance_q15</a> * S,
<a name="l02428"></a>02428             q15_t * pState,
<a name="l02429"></a>02429             q15_t * pInlineBuffer);
<a name="l02430"></a>02430 
<a name="l02440"></a>02440   <span class="keywordtype">void</span> arm_add_f32(
<a name="l02441"></a>02441            float32_t * pSrcA,
<a name="l02442"></a>02442            float32_t * pSrcB,
<a name="l02443"></a>02443            float32_t * pDst,
<a name="l02444"></a>02444            uint32_t blockSize);
<a name="l02445"></a>02445 
<a name="l02455"></a>02455   <span class="keywordtype">void</span> arm_add_q7(
<a name="l02456"></a>02456           q7_t * pSrcA,
<a name="l02457"></a>02457           q7_t * pSrcB,
<a name="l02458"></a>02458           q7_t * pDst,
<a name="l02459"></a>02459           uint32_t blockSize);
<a name="l02460"></a>02460 
<a name="l02470"></a>02470   <span class="keywordtype">void</span> arm_add_q15(
<a name="l02471"></a>02471             q15_t * pSrcA,
<a name="l02472"></a>02472             q15_t * pSrcB,
<a name="l02473"></a>02473            q15_t * pDst,
<a name="l02474"></a>02474            uint32_t blockSize);
<a name="l02475"></a>02475 
<a name="l02485"></a>02485   <span class="keywordtype">void</span> arm_add_q31(
<a name="l02486"></a>02486             q31_t * pSrcA,
<a name="l02487"></a>02487             q31_t * pSrcB,
<a name="l02488"></a>02488            q31_t * pDst,
<a name="l02489"></a>02489            uint32_t blockSize);
<a name="l02490"></a>02490 
<a name="l02500"></a>02500   <span class="keywordtype">void</span> arm_sub_f32(
<a name="l02501"></a>02501             float32_t * pSrcA,
<a name="l02502"></a>02502             float32_t * pSrcB,
<a name="l02503"></a>02503            float32_t * pDst,
<a name="l02504"></a>02504            uint32_t blockSize);
<a name="l02505"></a>02505 
<a name="l02515"></a>02515   <span class="keywordtype">void</span> arm_sub_q7(
<a name="l02516"></a>02516            q7_t * pSrcA,
<a name="l02517"></a>02517            q7_t * pSrcB,
<a name="l02518"></a>02518           q7_t * pDst,
<a name="l02519"></a>02519           uint32_t blockSize);
<a name="l02520"></a>02520 
<a name="l02530"></a>02530   <span class="keywordtype">void</span> arm_sub_q15(
<a name="l02531"></a>02531             q15_t * pSrcA,
<a name="l02532"></a>02532             q15_t * pSrcB,
<a name="l02533"></a>02533            q15_t * pDst,
<a name="l02534"></a>02534            uint32_t blockSize);
<a name="l02535"></a>02535 
<a name="l02545"></a>02545   <span class="keywordtype">void</span> arm_sub_q31(
<a name="l02546"></a>02546             q31_t * pSrcA,
<a name="l02547"></a>02547             q31_t * pSrcB,
<a name="l02548"></a>02548            q31_t * pDst,
<a name="l02549"></a>02549            uint32_t blockSize);
<a name="l02550"></a>02550 
<a name="l02560"></a>02560   <span class="keywordtype">void</span> arm_scale_f32(
<a name="l02561"></a>02561               float32_t * pSrc,
<a name="l02562"></a>02562              float32_t scale,
<a name="l02563"></a>02563              float32_t * pDst,
<a name="l02564"></a>02564              uint32_t blockSize);
<a name="l02565"></a>02565 
<a name="l02576"></a>02576   <span class="keywordtype">void</span> arm_scale_q7(
<a name="l02577"></a>02577              q7_t * pSrc,
<a name="l02578"></a>02578             q7_t scaleFract,
<a name="l02579"></a>02579             int8_t shift,
<a name="l02580"></a>02580             q7_t * pDst,
<a name="l02581"></a>02581             uint32_t blockSize);
<a name="l02582"></a>02582 
<a name="l02593"></a>02593   <span class="keywordtype">void</span> arm_scale_q15(
<a name="l02594"></a>02594               q15_t * pSrc,
<a name="l02595"></a>02595              q15_t scaleFract,
<a name="l02596"></a>02596              int8_t shift,
<a name="l02597"></a>02597              q15_t * pDst,
<a name="l02598"></a>02598              uint32_t blockSize);
<a name="l02599"></a>02599 
<a name="l02610"></a>02610   <span class="keywordtype">void</span> arm_scale_q31(
<a name="l02611"></a>02611               q31_t * pSrc,
<a name="l02612"></a>02612              q31_t scaleFract,
<a name="l02613"></a>02613              int8_t shift,
<a name="l02614"></a>02614              q31_t * pDst,
<a name="l02615"></a>02615              uint32_t blockSize);
<a name="l02616"></a>02616 
<a name="l02625"></a>02625   <span class="keywordtype">void</span> arm_abs_q7(
<a name="l02626"></a>02626            q7_t * pSrc,
<a name="l02627"></a>02627           q7_t * pDst,
<a name="l02628"></a>02628           uint32_t blockSize);
<a name="l02629"></a>02629 
<a name="l02638"></a>02638   <span class="keywordtype">void</span> arm_abs_f32(
<a name="l02639"></a>02639             float32_t * pSrc,
<a name="l02640"></a>02640            float32_t * pDst,
<a name="l02641"></a>02641            uint32_t blockSize);
<a name="l02642"></a>02642 
<a name="l02651"></a>02651   <span class="keywordtype">void</span> arm_abs_q15(
<a name="l02652"></a>02652             q15_t * pSrc,
<a name="l02653"></a>02653            q15_t * pDst,
<a name="l02654"></a>02654            uint32_t blockSize);
<a name="l02655"></a>02655 
<a name="l02664"></a>02664   <span class="keywordtype">void</span> arm_abs_q31(
<a name="l02665"></a>02665             q31_t * pSrc,
<a name="l02666"></a>02666            q31_t * pDst,
<a name="l02667"></a>02667            uint32_t blockSize);
<a name="l02668"></a>02668 
<a name="l02678"></a>02678   <span class="keywordtype">void</span> arm_dot_prod_f32(
<a name="l02679"></a>02679              float32_t * pSrcA,
<a name="l02680"></a>02680              float32_t * pSrcB,
<a name="l02681"></a>02681             uint32_t blockSize,
<a name="l02682"></a>02682             float32_t * result);
<a name="l02683"></a>02683 
<a name="l02693"></a>02693   <span class="keywordtype">void</span> arm_dot_prod_q7(
<a name="l02694"></a>02694                 q7_t * pSrcA,
<a name="l02695"></a>02695                 q7_t * pSrcB,
<a name="l02696"></a>02696                uint32_t blockSize,
<a name="l02697"></a>02697                q31_t * result);
<a name="l02698"></a>02698 
<a name="l02708"></a>02708   <span class="keywordtype">void</span> arm_dot_prod_q15(
<a name="l02709"></a>02709              q15_t * pSrcA,
<a name="l02710"></a>02710              q15_t * pSrcB,
<a name="l02711"></a>02711             uint32_t blockSize,
<a name="l02712"></a>02712             q63_t * result);
<a name="l02713"></a>02713 
<a name="l02723"></a>02723   <span class="keywordtype">void</span> arm_dot_prod_q31(
<a name="l02724"></a>02724              q31_t * pSrcA,
<a name="l02725"></a>02725              q31_t * pSrcB,
<a name="l02726"></a>02726             uint32_t blockSize,
<a name="l02727"></a>02727             q63_t * result);
<a name="l02728"></a>02728 
<a name="l02738"></a>02738   <span class="keywordtype">void</span> arm_shift_q7(
<a name="l02739"></a>02739              q7_t * pSrc,
<a name="l02740"></a>02740             int8_t shiftBits,
<a name="l02741"></a>02741             q7_t * pDst,
<a name="l02742"></a>02742             uint32_t blockSize);
<a name="l02743"></a>02743 
<a name="l02753"></a>02753   <span class="keywordtype">void</span> arm_shift_q15(
<a name="l02754"></a>02754               q15_t * pSrc,
<a name="l02755"></a>02755              int8_t shiftBits,
<a name="l02756"></a>02756              q15_t * pDst,
<a name="l02757"></a>02757              uint32_t blockSize);
<a name="l02758"></a>02758 
<a name="l02768"></a>02768   <span class="keywordtype">void</span> arm_shift_q31(
<a name="l02769"></a>02769               q31_t * pSrc,
<a name="l02770"></a>02770              int8_t shiftBits,
<a name="l02771"></a>02771              q31_t * pDst,
<a name="l02772"></a>02772              uint32_t blockSize);
<a name="l02773"></a>02773 
<a name="l02783"></a>02783   <span class="keywordtype">void</span> arm_offset_f32(
<a name="l02784"></a>02784                float32_t * pSrc,
<a name="l02785"></a>02785               float32_t offset,
<a name="l02786"></a>02786               float32_t * pDst,
<a name="l02787"></a>02787               uint32_t blockSize);
<a name="l02788"></a>02788 
<a name="l02798"></a>02798   <span class="keywordtype">void</span> arm_offset_q7(
<a name="l02799"></a>02799               q7_t * pSrc,
<a name="l02800"></a>02800              q7_t offset,
<a name="l02801"></a>02801              q7_t * pDst,
<a name="l02802"></a>02802              uint32_t blockSize);
<a name="l02803"></a>02803 
<a name="l02813"></a>02813   <span class="keywordtype">void</span> arm_offset_q15(
<a name="l02814"></a>02814                q15_t * pSrc,
<a name="l02815"></a>02815               q15_t offset,
<a name="l02816"></a>02816               q15_t * pDst,
<a name="l02817"></a>02817               uint32_t blockSize);
<a name="l02818"></a>02818 
<a name="l02828"></a>02828   <span class="keywordtype">void</span> arm_offset_q31(
<a name="l02829"></a>02829                q31_t * pSrc,
<a name="l02830"></a>02830               q31_t offset,
<a name="l02831"></a>02831               q31_t * pDst,
<a name="l02832"></a>02832               uint32_t blockSize);
<a name="l02833"></a>02833 
<a name="l02842"></a>02842   <span class="keywordtype">void</span> arm_negate_f32(
<a name="l02843"></a>02843                float32_t * pSrc,
<a name="l02844"></a>02844               float32_t * pDst,
<a name="l02845"></a>02845               uint32_t blockSize);
<a name="l02846"></a>02846 
<a name="l02855"></a>02855   <span class="keywordtype">void</span> arm_negate_q7(
<a name="l02856"></a>02856               q7_t * pSrc,
<a name="l02857"></a>02857              q7_t * pDst,
<a name="l02858"></a>02858              uint32_t blockSize);
<a name="l02859"></a>02859 
<a name="l02868"></a>02868   <span class="keywordtype">void</span> arm_negate_q15(
<a name="l02869"></a>02869                q15_t * pSrc,
<a name="l02870"></a>02870               q15_t * pDst,
<a name="l02871"></a>02871               uint32_t blockSize);
<a name="l02872"></a>02872 
<a name="l02881"></a>02881   <span class="keywordtype">void</span> arm_negate_q31(
<a name="l02882"></a>02882                q31_t * pSrc,
<a name="l02883"></a>02883               q31_t * pDst,
<a name="l02884"></a>02884               uint32_t blockSize);
<a name="l02892"></a>02892   <span class="keywordtype">void</span> arm_copy_f32(
<a name="l02893"></a>02893              float32_t * pSrc,
<a name="l02894"></a>02894             float32_t * pDst,
<a name="l02895"></a>02895             uint32_t blockSize);
<a name="l02896"></a>02896 
<a name="l02904"></a>02904   <span class="keywordtype">void</span> arm_copy_q7(
<a name="l02905"></a>02905             q7_t * pSrc,
<a name="l02906"></a>02906            q7_t * pDst,
<a name="l02907"></a>02907            uint32_t blockSize);
<a name="l02908"></a>02908 
<a name="l02916"></a>02916   <span class="keywordtype">void</span> arm_copy_q15(
<a name="l02917"></a>02917              q15_t * pSrc,
<a name="l02918"></a>02918             q15_t * pDst,
<a name="l02919"></a>02919             uint32_t blockSize);
<a name="l02920"></a>02920 
<a name="l02928"></a>02928   <span class="keywordtype">void</span> arm_copy_q31(
<a name="l02929"></a>02929              q31_t * pSrc,
<a name="l02930"></a>02930             q31_t * pDst,
<a name="l02931"></a>02931             uint32_t blockSize);
<a name="l02939"></a>02939   <span class="keywordtype">void</span> arm_fill_f32(
<a name="l02940"></a>02940              float32_t value,
<a name="l02941"></a>02941             float32_t * pDst,
<a name="l02942"></a>02942             uint32_t blockSize);
<a name="l02943"></a>02943 
<a name="l02951"></a>02951   <span class="keywordtype">void</span> arm_fill_q7(
<a name="l02952"></a>02952             q7_t value,
<a name="l02953"></a>02953            q7_t * pDst,
<a name="l02954"></a>02954            uint32_t blockSize);
<a name="l02955"></a>02955 
<a name="l02963"></a>02963   <span class="keywordtype">void</span> arm_fill_q15(
<a name="l02964"></a>02964              q15_t value,
<a name="l02965"></a>02965             q15_t * pDst,
<a name="l02966"></a>02966             uint32_t blockSize);
<a name="l02967"></a>02967 
<a name="l02975"></a>02975   <span class="keywordtype">void</span> arm_fill_q31(
<a name="l02976"></a>02976              q31_t value,
<a name="l02977"></a>02977             q31_t * pDst,
<a name="l02978"></a>02978             uint32_t blockSize);
<a name="l02979"></a>02979 
<a name="l02990"></a>02990   <span class="keywordtype">void</span> arm_conv_f32(
<a name="l02991"></a>02991              float32_t * pSrcA,
<a name="l02992"></a>02992             uint32_t srcALen,
<a name="l02993"></a>02993              float32_t * pSrcB,
<a name="l02994"></a>02994             uint32_t srcBLen,
<a name="l02995"></a>02995             float32_t * pDst);
<a name="l02996"></a>02996 
<a name="l03007"></a>03007   <span class="keywordtype">void</span> arm_conv_q15(
<a name="l03008"></a>03008              q15_t * pSrcA,
<a name="l03009"></a>03009             uint32_t srcALen,
<a name="l03010"></a>03010              q15_t * pSrcB,
<a name="l03011"></a>03011             uint32_t srcBLen,
<a name="l03012"></a>03012             q15_t * pDst);
<a name="l03013"></a>03013 
<a name="l03024"></a>03024   <span class="keywordtype">void</span> arm_conv_fast_q15(
<a name="l03025"></a>03025               q15_t * pSrcA,
<a name="l03026"></a>03026              uint32_t srcALen,
<a name="l03027"></a>03027               q15_t * pSrcB,
<a name="l03028"></a>03028              uint32_t srcBLen,
<a name="l03029"></a>03029              q15_t * pDst);
<a name="l03030"></a>03030 
<a name="l03041"></a>03041   <span class="keywordtype">void</span> arm_conv_q31(
<a name="l03042"></a>03042              q31_t * pSrcA,
<a name="l03043"></a>03043             uint32_t srcALen,
<a name="l03044"></a>03044              q31_t * pSrcB,
<a name="l03045"></a>03045             uint32_t srcBLen,
<a name="l03046"></a>03046             q31_t * pDst);
<a name="l03047"></a>03047 
<a name="l03058"></a>03058   <span class="keywordtype">void</span> arm_conv_fast_q31(
<a name="l03059"></a>03059               q31_t * pSrcA,
<a name="l03060"></a>03060              uint32_t srcALen,
<a name="l03061"></a>03061               q31_t * pSrcB,
<a name="l03062"></a>03062              uint32_t srcBLen,
<a name="l03063"></a>03063              q31_t * pDst);
<a name="l03064"></a>03064 
<a name="l03075"></a>03075   <span class="keywordtype">void</span> arm_conv_q7(
<a name="l03076"></a>03076             q7_t * pSrcA,
<a name="l03077"></a>03077            uint32_t srcALen,
<a name="l03078"></a>03078             q7_t * pSrcB,
<a name="l03079"></a>03079            uint32_t srcBLen,
<a name="l03080"></a>03080            q7_t * pDst);
<a name="l03081"></a>03081 
<a name="l03094"></a>03094   arm_status arm_conv_partial_f32(
<a name="l03095"></a>03095                    float32_t * pSrcA,
<a name="l03096"></a>03096                   uint32_t srcALen,
<a name="l03097"></a>03097                    float32_t * pSrcB,
<a name="l03098"></a>03098                   uint32_t srcBLen,
<a name="l03099"></a>03099                   float32_t * pDst,
<a name="l03100"></a>03100                   uint32_t firstIndex,
<a name="l03101"></a>03101                   uint32_t numPoints);
<a name="l03102"></a>03102 
<a name="l03115"></a>03115   arm_status arm_conv_partial_q15(
<a name="l03116"></a>03116                    q15_t * pSrcA,
<a name="l03117"></a>03117                   uint32_t srcALen,
<a name="l03118"></a>03118                    q15_t * pSrcB,
<a name="l03119"></a>03119                   uint32_t srcBLen,
<a name="l03120"></a>03120                   q15_t * pDst,
<a name="l03121"></a>03121                   uint32_t firstIndex,
<a name="l03122"></a>03122                   uint32_t numPoints);
<a name="l03123"></a>03123 
<a name="l03136"></a>03136   arm_status arm_conv_partial_fast_q15(
<a name="l03137"></a>03137                         q15_t * pSrcA,
<a name="l03138"></a>03138                        uint32_t srcALen,
<a name="l03139"></a>03139                         q15_t * pSrcB,
<a name="l03140"></a>03140                        uint32_t srcBLen,
<a name="l03141"></a>03141                        q15_t * pDst,
<a name="l03142"></a>03142                        uint32_t firstIndex,
<a name="l03143"></a>03143                        uint32_t numPoints);
<a name="l03144"></a>03144 
<a name="l03157"></a>03157   arm_status arm_conv_partial_q31(
<a name="l03158"></a>03158                    q31_t * pSrcA,
<a name="l03159"></a>03159                   uint32_t srcALen,
<a name="l03160"></a>03160                    q31_t * pSrcB,
<a name="l03161"></a>03161                   uint32_t srcBLen,
<a name="l03162"></a>03162                   q31_t * pDst,
<a name="l03163"></a>03163                   uint32_t firstIndex,
<a name="l03164"></a>03164                   uint32_t numPoints);
<a name="l03165"></a>03165 
<a name="l03166"></a>03166 
<a name="l03179"></a>03179   arm_status arm_conv_partial_fast_q31(
<a name="l03180"></a>03180                         q31_t * pSrcA,
<a name="l03181"></a>03181                        uint32_t srcALen,
<a name="l03182"></a>03182                         q31_t * pSrcB,
<a name="l03183"></a>03183                        uint32_t srcBLen,
<a name="l03184"></a>03184                        q31_t * pDst,
<a name="l03185"></a>03185                        uint32_t firstIndex,
<a name="l03186"></a>03186                        uint32_t numPoints);
<a name="l03187"></a>03187 
<a name="l03200"></a>03200   arm_status arm_conv_partial_q7(
<a name="l03201"></a>03201                   q7_t * pSrcA,
<a name="l03202"></a>03202                  uint32_t srcALen,
<a name="l03203"></a>03203                   q7_t * pSrcB,
<a name="l03204"></a>03204                  uint32_t srcBLen,
<a name="l03205"></a>03205                  q7_t * pDst,
<a name="l03206"></a>03206                  uint32_t firstIndex,
<a name="l03207"></a>03207                  uint32_t numPoints);
<a name="l03208"></a>03208 
<a name="l03209"></a>03209 
<a name="l03214"></a><a class="code" href="structarm__fir__decimate__instance__q15.html">03214</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03215"></a>03215   {
<a name="l03216"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#ae2c8107d00d3c9942e7a20fc598edecf">03216</a>     uint8_t <a class="code" href="structarm__fir__decimate__instance__q15.html#ae2c8107d00d3c9942e7a20fc598edecf">M</a>;                      
<a name="l03217"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#a751941891e47f522a7f5375fe8990aac">03217</a>     uint16_t <a class="code" href="structarm__fir__decimate__instance__q15.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;               
<a name="l03218"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#a7ca181a37f714d174445f486bebce26f">03218</a>     q15_t *<a class="code" href="structarm__fir__decimate__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;                  
<a name="l03219"></a><a class="code" href="structarm__fir__decimate__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">03219</a>     q15_t *<a class="code" href="structarm__fir__decimate__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;                   
<a name="l03220"></a>03220   } <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a>;
<a name="l03221"></a>03221 
<a name="l03226"></a><a class="code" href="structarm__fir__decimate__instance__q31.html">03226</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03227"></a>03227   {
<a name="l03228"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#ae2c8107d00d3c9942e7a20fc598edecf">03228</a>     uint8_t <a class="code" href="structarm__fir__decimate__instance__q31.html#ae2c8107d00d3c9942e7a20fc598edecf">M</a>;                  
<a name="l03229"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#a751941891e47f522a7f5375fe8990aac">03229</a>     uint16_t <a class="code" href="structarm__fir__decimate__instance__q31.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;           
<a name="l03230"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#a68888e36167d81cb7836db10367a1682">03230</a>     q31_t *<a class="code" href="structarm__fir__decimate__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;              
<a name="l03231"></a><a class="code" href="structarm__fir__decimate__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">03231</a>     q31_t *<a class="code" href="structarm__fir__decimate__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;               
<a name="l03233"></a>03233   } <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a>;
<a name="l03234"></a>03234 
<a name="l03239"></a><a class="code" href="structarm__fir__decimate__instance__f32.html">03239</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03240"></a>03240   {
<a name="l03241"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#ae2c8107d00d3c9942e7a20fc598edecf">03241</a>     uint8_t <a class="code" href="structarm__fir__decimate__instance__f32.html#ae2c8107d00d3c9942e7a20fc598edecf">M</a>;                          
<a name="l03242"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a751941891e47f522a7f5375fe8990aac">03242</a>     uint16_t <a class="code" href="structarm__fir__decimate__instance__f32.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;                   
<a name="l03243"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">03243</a>     float32_t *<a class="code" href="structarm__fir__decimate__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;                  
<a name="l03244"></a><a class="code" href="structarm__fir__decimate__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03244</a>     float32_t *<a class="code" href="structarm__fir__decimate__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;                   
<a name="l03246"></a>03246   } <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a>;
<a name="l03247"></a>03247 
<a name="l03248"></a>03248 
<a name="l03249"></a>03249 
<a name="l03259"></a>03259   <span class="keywordtype">void</span> arm_fir_decimate_f32(
<a name="l03260"></a>03260                 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a> * S,
<a name="l03261"></a>03261                  float32_t * pSrc,
<a name="l03262"></a>03262                 float32_t * pDst,
<a name="l03263"></a>03263                 uint32_t blockSize);
<a name="l03264"></a>03264 
<a name="l03265"></a>03265 
<a name="l03278"></a>03278   arm_status arm_fir_decimate_init_f32(
<a name="l03279"></a>03279                        <a class="code" href="structarm__fir__decimate__instance__f32.html" title="Instance structure for the floating-point FIR decimator.">arm_fir_decimate_instance_f32</a> * S,
<a name="l03280"></a>03280                        uint16_t numTaps,
<a name="l03281"></a>03281                        uint8_t M,
<a name="l03282"></a>03282                        float32_t * pCoeffs,
<a name="l03283"></a>03283                        float32_t * pState,
<a name="l03284"></a>03284                        uint32_t blockSize);
<a name="l03285"></a>03285 
<a name="l03295"></a>03295   <span class="keywordtype">void</span> arm_fir_decimate_q15(
<a name="l03296"></a>03296                 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
<a name="l03297"></a>03297                  q15_t * pSrc,
<a name="l03298"></a>03298                 q15_t * pDst,
<a name="l03299"></a>03299                 uint32_t blockSize);
<a name="l03300"></a>03300 
<a name="l03310"></a>03310   <span class="keywordtype">void</span> arm_fir_decimate_fast_q15(
<a name="l03311"></a>03311                  <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
<a name="l03312"></a>03312                   q15_t * pSrc,
<a name="l03313"></a>03313                  q15_t * pDst,
<a name="l03314"></a>03314                  uint32_t blockSize);
<a name="l03315"></a>03315 
<a name="l03316"></a>03316 
<a name="l03317"></a>03317 
<a name="l03330"></a>03330   arm_status arm_fir_decimate_init_q15(
<a name="l03331"></a>03331                        <a class="code" href="structarm__fir__decimate__instance__q15.html" title="Instance structure for the Q15 FIR decimator.">arm_fir_decimate_instance_q15</a> * S,
<a name="l03332"></a>03332                        uint16_t numTaps,
<a name="l03333"></a>03333                        uint8_t M,
<a name="l03334"></a>03334                        q15_t * pCoeffs,
<a name="l03335"></a>03335                        q15_t * pState,
<a name="l03336"></a>03336                        uint32_t blockSize);
<a name="l03337"></a>03337 
<a name="l03347"></a>03347   <span class="keywordtype">void</span> arm_fir_decimate_q31(
<a name="l03348"></a>03348                 <span class="keyword">const</span> <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
<a name="l03349"></a>03349                  q31_t * pSrc,
<a name="l03350"></a>03350                 q31_t * pDst,
<a name="l03351"></a>03351                 uint32_t blockSize);
<a name="l03352"></a>03352 
<a name="l03362"></a>03362   <span class="keywordtype">void</span> arm_fir_decimate_fast_q31(
<a name="l03363"></a>03363                  <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
<a name="l03364"></a>03364                   q31_t * pSrc,
<a name="l03365"></a>03365                  q31_t * pDst,
<a name="l03366"></a>03366                  uint32_t blockSize);
<a name="l03367"></a>03367 
<a name="l03368"></a>03368 
<a name="l03381"></a>03381   arm_status arm_fir_decimate_init_q31(
<a name="l03382"></a>03382                        <a class="code" href="structarm__fir__decimate__instance__q31.html" title="Instance structure for the Q31 FIR decimator.">arm_fir_decimate_instance_q31</a> * S,
<a name="l03383"></a>03383                        uint16_t numTaps,
<a name="l03384"></a>03384                        uint8_t M,
<a name="l03385"></a>03385                        q31_t * pCoeffs,
<a name="l03386"></a>03386                        q31_t * pState,
<a name="l03387"></a>03387                        uint32_t blockSize);
<a name="l03388"></a>03388 
<a name="l03389"></a>03389 
<a name="l03390"></a>03390 
<a name="l03395"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html">03395</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03396"></a>03396   {
<a name="l03397"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#aee73cc056696e504430c53eaa9c58cf0">03397</a>     uint8_t <a class="code" href="structarm__fir__interpolate__instance__q15.html#aee73cc056696e504430c53eaa9c58cf0">L</a>;                      
<a name="l03398"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#a8f92bb07e0812f94679438cdf412b26a">03398</a>     uint16_t <a class="code" href="structarm__fir__interpolate__instance__q15.html#a8f92bb07e0812f94679438cdf412b26a">phaseLength</a>;           
<a name="l03399"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#a7ca181a37f714d174445f486bebce26f">03399</a>     q15_t *<a class="code" href="structarm__fir__interpolate__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;                 
<a name="l03400"></a><a class="code" href="structarm__fir__interpolate__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">03400</a>     q15_t *<a class="code" href="structarm__fir__interpolate__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;                  
<a name="l03401"></a>03401   } <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a>;
<a name="l03402"></a>03402 
<a name="l03407"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html">03407</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03408"></a>03408   {
<a name="l03409"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#aee73cc056696e504430c53eaa9c58cf0">03409</a>     uint8_t <a class="code" href="structarm__fir__interpolate__instance__q31.html#aee73cc056696e504430c53eaa9c58cf0">L</a>;                      
<a name="l03410"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#a8f92bb07e0812f94679438cdf412b26a">03410</a>     uint16_t <a class="code" href="structarm__fir__interpolate__instance__q31.html#a8f92bb07e0812f94679438cdf412b26a">phaseLength</a>;           
<a name="l03411"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#a68888e36167d81cb7836db10367a1682">03411</a>     q31_t *<a class="code" href="structarm__fir__interpolate__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;                  
<a name="l03412"></a><a class="code" href="structarm__fir__interpolate__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">03412</a>     q31_t *<a class="code" href="structarm__fir__interpolate__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;                   
<a name="l03413"></a>03413   } <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a>;
<a name="l03414"></a>03414 
<a name="l03419"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html">03419</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03420"></a>03420   {
<a name="l03421"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#aee73cc056696e504430c53eaa9c58cf0">03421</a>     uint8_t <a class="code" href="structarm__fir__interpolate__instance__f32.html#aee73cc056696e504430c53eaa9c58cf0">L</a>;                     
<a name="l03422"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#a8f92bb07e0812f94679438cdf412b26a">03422</a>     uint16_t <a class="code" href="structarm__fir__interpolate__instance__f32.html#a8f92bb07e0812f94679438cdf412b26a">phaseLength</a>;          
<a name="l03423"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">03423</a>     float32_t *<a class="code" href="structarm__fir__interpolate__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;             
<a name="l03424"></a><a class="code" href="structarm__fir__interpolate__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03424</a>     float32_t *<a class="code" href="structarm__fir__interpolate__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;              
<a name="l03425"></a>03425   } <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a>;
<a name="l03426"></a>03426 
<a name="l03427"></a>03427 
<a name="l03437"></a>03437   <span class="keywordtype">void</span> arm_fir_interpolate_q15(
<a name="l03438"></a>03438                    <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a> * S,
<a name="l03439"></a>03439                     q15_t * pSrc,
<a name="l03440"></a>03440                    q15_t * pDst,
<a name="l03441"></a>03441                    uint32_t blockSize);
<a name="l03442"></a>03442 
<a name="l03443"></a>03443 
<a name="l03456"></a>03456   arm_status arm_fir_interpolate_init_q15(
<a name="l03457"></a>03457                       <a class="code" href="structarm__fir__interpolate__instance__q15.html" title="Instance structure for the Q15 FIR interpolator.">arm_fir_interpolate_instance_q15</a> * S,
<a name="l03458"></a>03458                       uint8_t L,
<a name="l03459"></a>03459                       uint16_t numTaps,
<a name="l03460"></a>03460                       q15_t * pCoeffs,
<a name="l03461"></a>03461                       q15_t * pState,
<a name="l03462"></a>03462                       uint32_t blockSize);
<a name="l03463"></a>03463 
<a name="l03473"></a>03473   <span class="keywordtype">void</span> arm_fir_interpolate_q31(
<a name="l03474"></a>03474                    <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a> * S,
<a name="l03475"></a>03475                     q31_t * pSrc,
<a name="l03476"></a>03476                    q31_t * pDst,
<a name="l03477"></a>03477                    uint32_t blockSize);
<a name="l03478"></a>03478 
<a name="l03491"></a>03491   arm_status arm_fir_interpolate_init_q31(
<a name="l03492"></a>03492                       <a class="code" href="structarm__fir__interpolate__instance__q31.html" title="Instance structure for the Q31 FIR interpolator.">arm_fir_interpolate_instance_q31</a> * S,
<a name="l03493"></a>03493                       uint8_t L,
<a name="l03494"></a>03494                       uint16_t numTaps,
<a name="l03495"></a>03495                       q31_t * pCoeffs,
<a name="l03496"></a>03496                       q31_t * pState,
<a name="l03497"></a>03497                       uint32_t blockSize);
<a name="l03498"></a>03498 
<a name="l03499"></a>03499 
<a name="l03509"></a>03509   <span class="keywordtype">void</span> arm_fir_interpolate_f32(
<a name="l03510"></a>03510                    <span class="keyword">const</span> <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a> * S,
<a name="l03511"></a>03511                     float32_t * pSrc,
<a name="l03512"></a>03512                    float32_t * pDst,
<a name="l03513"></a>03513                    uint32_t blockSize);
<a name="l03514"></a>03514 
<a name="l03527"></a>03527   arm_status arm_fir_interpolate_init_f32(
<a name="l03528"></a>03528                       <a class="code" href="structarm__fir__interpolate__instance__f32.html" title="Instance structure for the floating-point FIR interpolator.">arm_fir_interpolate_instance_f32</a> * S,
<a name="l03529"></a>03529                       uint8_t L,
<a name="l03530"></a>03530                       uint16_t numTaps,
<a name="l03531"></a>03531                       float32_t * pCoeffs,
<a name="l03532"></a>03532                       float32_t * pState,
<a name="l03533"></a>03533                       uint32_t blockSize);
<a name="l03534"></a>03534 
<a name="l03539"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html">03539</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03540"></a>03540   {
<a name="l03541"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a3615af038f56917909e0370c11bc2ec7">03541</a>     uint8_t <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a3615af038f56917909e0370c11bc2ec7">numStages</a>;       
<a name="l03542"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#adefeb77301cc04e4d7d22f323029d588">03542</a>     q63_t *<a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#adefeb77301cc04e4d7d22f323029d588">pState</a>;           
<a name="l03543"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a68888e36167d81cb7836db10367a1682">03543</a>     q31_t *<a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;          
<a name="l03544"></a><a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a74050e9f36542bd56f4052381a82ae8f">03544</a>     uint8_t <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html#a74050e9f36542bd56f4052381a82ae8f">postShift</a>;       
<a name="l03546"></a>03546   } <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a>;
<a name="l03547"></a>03547 
<a name="l03548"></a>03548 
<a name="l03557"></a>03557   <span class="keywordtype">void</span> arm_biquad_cas_df1_32x64_q31(
<a name="l03558"></a>03558                     <span class="keyword">const</span> <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> * S,
<a name="l03559"></a>03559                      q31_t * pSrc,
<a name="l03560"></a>03560                     q31_t * pDst,
<a name="l03561"></a>03561                     uint32_t blockSize);
<a name="l03562"></a>03562 
<a name="l03563"></a>03563 
<a name="l03573"></a>03573   <span class="keywordtype">void</span> arm_biquad_cas_df1_32x64_init_q31(
<a name="l03574"></a>03574                      <a class="code" href="structarm__biquad__cas__df1__32x64__ins__q31.html" title="Instance structure for the high precision Q31 Biquad cascade filter.">arm_biquad_cas_df1_32x64_ins_q31</a> * S,
<a name="l03575"></a>03575                      uint8_t numStages,
<a name="l03576"></a>03576                      q31_t * pCoeffs,
<a name="l03577"></a>03577                      q63_t * pState,
<a name="l03578"></a>03578                      uint8_t postShift);
<a name="l03579"></a>03579 
<a name="l03580"></a>03580 
<a name="l03581"></a>03581 
<a name="l03586"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html">03586</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03587"></a>03587   {
<a name="l03588"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a3615af038f56917909e0370c11bc2ec7">03588</a>     uint8_t   <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a3615af038f56917909e0370c11bc2ec7">numStages</a>;       
<a name="l03589"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03589</a>     float32_t *<a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;         
<a name="l03590"></a><a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">03590</a>     float32_t *<a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;        
<a name="l03591"></a>03591   } <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a>;
<a name="l03592"></a>03592 
<a name="l03593"></a>03593 
<a name="l03603"></a>03603   <span class="keywordtype">void</span> arm_biquad_cascade_df2T_f32(
<a name="l03604"></a>03604                    <span class="keyword">const</span> <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a> * S,
<a name="l03605"></a>03605                     float32_t * pSrc,
<a name="l03606"></a>03606                    float32_t * pDst,
<a name="l03607"></a>03607                    uint32_t blockSize);
<a name="l03608"></a>03608 
<a name="l03609"></a>03609 
<a name="l03619"></a>03619   <span class="keywordtype">void</span> arm_biquad_cascade_df2T_init_f32(
<a name="l03620"></a>03620                     <a class="code" href="structarm__biquad__cascade__df2_t__instance__f32.html" title="Instance structure for the floating-point transposed direct form II Biquad cascade filter...">arm_biquad_cascade_df2T_instance_f32</a> * S,
<a name="l03621"></a>03621                     uint8_t numStages,
<a name="l03622"></a>03622                     float32_t * pCoeffs,
<a name="l03623"></a>03623                     float32_t * pState);
<a name="l03624"></a>03624 
<a name="l03625"></a>03625 
<a name="l03626"></a>03626 
<a name="l03631"></a><a class="code" href="structarm__fir__lattice__instance__q15.html">03631</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03632"></a>03632   {
<a name="l03633"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#a4cceb90547b3e585d4c7aabaa8057212">03633</a>     uint16_t <a class="code" href="structarm__fir__lattice__instance__q15.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                          
<a name="l03634"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">03634</a>     q15_t *<a class="code" href="structarm__fir__lattice__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;                               
<a name="l03635"></a><a class="code" href="structarm__fir__lattice__instance__q15.html#a7ca181a37f714d174445f486bebce26f">03635</a>     q15_t *<a class="code" href="structarm__fir__lattice__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;                              
<a name="l03636"></a>03636   } <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a>;
<a name="l03637"></a>03637 
<a name="l03642"></a><a class="code" href="structarm__fir__lattice__instance__q31.html">03642</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03643"></a>03643   {
<a name="l03644"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#a4cceb90547b3e585d4c7aabaa8057212">03644</a>     uint16_t <a class="code" href="structarm__fir__lattice__instance__q31.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                          
<a name="l03645"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">03645</a>     q31_t *<a class="code" href="structarm__fir__lattice__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;                               
<a name="l03646"></a><a class="code" href="structarm__fir__lattice__instance__q31.html#a68888e36167d81cb7836db10367a1682">03646</a>     q31_t *<a class="code" href="structarm__fir__lattice__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;                              
<a name="l03647"></a>03647   } <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a>;
<a name="l03648"></a>03648 
<a name="l03653"></a><a class="code" href="structarm__fir__lattice__instance__f32.html">03653</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03654"></a>03654   {
<a name="l03655"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#a4cceb90547b3e585d4c7aabaa8057212">03655</a>     uint16_t <a class="code" href="structarm__fir__lattice__instance__f32.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                  
<a name="l03656"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03656</a>     float32_t *<a class="code" href="structarm__fir__lattice__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;                   
<a name="l03657"></a><a class="code" href="structarm__fir__lattice__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">03657</a>     float32_t *<a class="code" href="structarm__fir__lattice__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;                  
<a name="l03658"></a>03658   } <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a>;
<a name="l03659"></a>03659 
<a name="l03669"></a>03669   <span class="keywordtype">void</span> arm_fir_lattice_init_q15(
<a name="l03670"></a>03670                 <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a> * S,
<a name="l03671"></a>03671                 uint16_t numStages,
<a name="l03672"></a>03672                 q15_t * pCoeffs,
<a name="l03673"></a>03673                 q15_t * pState);
<a name="l03674"></a>03674 
<a name="l03675"></a>03675 
<a name="l03684"></a>03684   <span class="keywordtype">void</span> arm_fir_lattice_q15(
<a name="l03685"></a>03685                <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__q15.html" title="Instance structure for the Q15 FIR lattice filter.">arm_fir_lattice_instance_q15</a> * S,
<a name="l03686"></a>03686                 q15_t * pSrc,
<a name="l03687"></a>03687                q15_t * pDst,
<a name="l03688"></a>03688                uint32_t blockSize);
<a name="l03689"></a>03689 
<a name="l03699"></a>03699   <span class="keywordtype">void</span> arm_fir_lattice_init_q31(
<a name="l03700"></a>03700                 <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a> * S,
<a name="l03701"></a>03701                 uint16_t numStages,
<a name="l03702"></a>03702                 q31_t * pCoeffs,
<a name="l03703"></a>03703                 q31_t * pState);
<a name="l03704"></a>03704 
<a name="l03705"></a>03705 
<a name="l03715"></a>03715   <span class="keywordtype">void</span> arm_fir_lattice_q31(
<a name="l03716"></a>03716                <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__q31.html" title="Instance structure for the Q31 FIR lattice filter.">arm_fir_lattice_instance_q31</a> * S,
<a name="l03717"></a>03717                 q31_t * pSrc,
<a name="l03718"></a>03718                q31_t * pDst,
<a name="l03719"></a>03719                uint32_t blockSize);
<a name="l03720"></a>03720 
<a name="l03730"></a>03730   <span class="keywordtype">void</span> arm_fir_lattice_init_f32(
<a name="l03731"></a>03731                 <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a> * S,
<a name="l03732"></a>03732                 uint16_t numStages,
<a name="l03733"></a>03733                 float32_t * pCoeffs,
<a name="l03734"></a>03734                 float32_t * pState);
<a name="l03735"></a>03735 
<a name="l03745"></a>03745   <span class="keywordtype">void</span> arm_fir_lattice_f32(
<a name="l03746"></a>03746                <span class="keyword">const</span> <a class="code" href="structarm__fir__lattice__instance__f32.html" title="Instance structure for the floating-point FIR lattice filter.">arm_fir_lattice_instance_f32</a> * S,
<a name="l03747"></a>03747                 float32_t * pSrc,
<a name="l03748"></a>03748                float32_t * pDst,
<a name="l03749"></a>03749                uint32_t blockSize);
<a name="l03750"></a>03750 
<a name="l03754"></a><a class="code" href="structarm__iir__lattice__instance__q15.html">03754</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03755"></a>03755   {
<a name="l03756"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a4cceb90547b3e585d4c7aabaa8057212">03756</a>     uint16_t <a class="code" href="structarm__iir__lattice__instance__q15.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                         
<a name="l03757"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">03757</a>     q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;                              
<a name="l03758"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a12497c299b0341c18d497f8ab3465084">03758</a>     q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#a12497c299b0341c18d497f8ab3465084">pkCoeffs</a>;                            
<a name="l03759"></a><a class="code" href="structarm__iir__lattice__instance__q15.html#a52866ed127c7b2a8a102e2ed1a2ebab8">03759</a>     q15_t *<a class="code" href="structarm__iir__lattice__instance__q15.html#a52866ed127c7b2a8a102e2ed1a2ebab8">pvCoeffs</a>;                            
<a name="l03760"></a>03760   } <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a>;
<a name="l03761"></a>03761 
<a name="l03765"></a><a class="code" href="structarm__iir__lattice__instance__q31.html">03765</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03766"></a>03766   {
<a name="l03767"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a4cceb90547b3e585d4c7aabaa8057212">03767</a>     uint16_t <a class="code" href="structarm__iir__lattice__instance__q31.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                         
<a name="l03768"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">03768</a>     q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;                              
<a name="l03769"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a9d45339bf841bf86aec57be5f70d2b01">03769</a>     q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#a9d45339bf841bf86aec57be5f70d2b01">pkCoeffs</a>;                            
<a name="l03770"></a><a class="code" href="structarm__iir__lattice__instance__q31.html#a3d7de56fe9de3458f033a64f14407533">03770</a>     q31_t *<a class="code" href="structarm__iir__lattice__instance__q31.html#a3d7de56fe9de3458f033a64f14407533">pvCoeffs</a>;                            
<a name="l03771"></a>03771   } <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a>;
<a name="l03772"></a>03772 
<a name="l03776"></a><a class="code" href="structarm__iir__lattice__instance__f32.html">03776</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03777"></a>03777   {
<a name="l03778"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#a4cceb90547b3e585d4c7aabaa8057212">03778</a>     uint16_t <a class="code" href="structarm__iir__lattice__instance__f32.html#a4cceb90547b3e585d4c7aabaa8057212">numStages</a>;                         
<a name="l03779"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03779</a>     float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;                          
<a name="l03780"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#a994889c5c4a866c50a0ee63326378816">03780</a>     float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#a994889c5c4a866c50a0ee63326378816">pkCoeffs</a>;                        
<a name="l03781"></a><a class="code" href="structarm__iir__lattice__instance__f32.html#a0f8815744fade9c580d44277ff802308">03781</a>     float32_t *<a class="code" href="structarm__iir__lattice__instance__f32.html#a0f8815744fade9c580d44277ff802308">pvCoeffs</a>;                        
<a name="l03782"></a>03782   } <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a>;
<a name="l03783"></a>03783 
<a name="l03793"></a>03793   <span class="keywordtype">void</span> arm_iir_lattice_f32(
<a name="l03794"></a>03794                <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a> * S,
<a name="l03795"></a>03795                 float32_t * pSrc,
<a name="l03796"></a>03796                float32_t * pDst,
<a name="l03797"></a>03797                uint32_t blockSize);
<a name="l03798"></a>03798 
<a name="l03810"></a>03810   <span class="keywordtype">void</span> arm_iir_lattice_init_f32(
<a name="l03811"></a>03811                 <a class="code" href="structarm__iir__lattice__instance__f32.html" title="Instance structure for the floating-point IIR lattice filter.">arm_iir_lattice_instance_f32</a> * S,
<a name="l03812"></a>03812                 uint16_t numStages,
<a name="l03813"></a>03813                 float32_t *pkCoeffs,
<a name="l03814"></a>03814                 float32_t *pvCoeffs,
<a name="l03815"></a>03815                 float32_t *pState,
<a name="l03816"></a>03816                 uint32_t blockSize);
<a name="l03817"></a>03817 
<a name="l03818"></a>03818 
<a name="l03828"></a>03828   <span class="keywordtype">void</span> arm_iir_lattice_q31(
<a name="l03829"></a>03829                <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a> * S,
<a name="l03830"></a>03830                 q31_t * pSrc,
<a name="l03831"></a>03831                q31_t * pDst,
<a name="l03832"></a>03832                uint32_t blockSize);
<a name="l03833"></a>03833 
<a name="l03834"></a>03834 
<a name="l03846"></a>03846   <span class="keywordtype">void</span> arm_iir_lattice_init_q31(
<a name="l03847"></a>03847                 <a class="code" href="structarm__iir__lattice__instance__q31.html" title="Instance structure for the Q31 IIR lattice filter.">arm_iir_lattice_instance_q31</a> * S,
<a name="l03848"></a>03848                 uint16_t numStages,
<a name="l03849"></a>03849                 q31_t *pkCoeffs,
<a name="l03850"></a>03850                 q31_t *pvCoeffs,
<a name="l03851"></a>03851                 q31_t *pState,
<a name="l03852"></a>03852                 uint32_t blockSize);
<a name="l03853"></a>03853 
<a name="l03854"></a>03854 
<a name="l03864"></a>03864   <span class="keywordtype">void</span> arm_iir_lattice_q15(
<a name="l03865"></a>03865                <span class="keyword">const</span> <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a> * S,
<a name="l03866"></a>03866                 q15_t * pSrc,
<a name="l03867"></a>03867                q15_t * pDst,
<a name="l03868"></a>03868                uint32_t blockSize);
<a name="l03869"></a>03869 
<a name="l03870"></a>03870 
<a name="l03882"></a>03882   <span class="keywordtype">void</span> arm_iir_lattice_init_q15(
<a name="l03883"></a>03883                 <a class="code" href="structarm__iir__lattice__instance__q15.html" title="Instance structure for the Q15 IIR lattice filter.">arm_iir_lattice_instance_q15</a> * S,
<a name="l03884"></a>03884                 uint16_t numStages,
<a name="l03885"></a>03885                 q15_t *pkCoeffs,
<a name="l03886"></a>03886                 q15_t *pvCoeffs,
<a name="l03887"></a>03887                 q15_t *pState,
<a name="l03888"></a>03888                 uint32_t blockSize);
<a name="l03889"></a>03889 
<a name="l03894"></a><a class="code" href="structarm__lms__instance__f32.html">03894</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03895"></a>03895   {
<a name="l03896"></a><a class="code" href="structarm__lms__instance__f32.html#a751941891e47f522a7f5375fe8990aac">03896</a>     uint16_t <a class="code" href="structarm__lms__instance__f32.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;    
<a name="l03897"></a><a class="code" href="structarm__lms__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">03897</a>     float32_t *<a class="code" href="structarm__lms__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;   
<a name="l03898"></a><a class="code" href="structarm__lms__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">03898</a>     float32_t *<a class="code" href="structarm__lms__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;  
<a name="l03899"></a><a class="code" href="structarm__lms__instance__f32.html#a11402afa7c9b9dac4cb953fa386e74d2">03899</a>     float32_t <a class="code" href="structarm__lms__instance__f32.html#a11402afa7c9b9dac4cb953fa386e74d2">mu</a>;        
<a name="l03900"></a>03900   } <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a>;
<a name="l03901"></a>03901 
<a name="l03913"></a>03913   <span class="keywordtype">void</span> arm_lms_f32(
<a name="l03914"></a>03914            <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a> * S,
<a name="l03915"></a>03915             float32_t * pSrc,
<a name="l03916"></a>03916             float32_t * pRef,
<a name="l03917"></a>03917            float32_t * pOut,
<a name="l03918"></a>03918            float32_t * pErr,
<a name="l03919"></a>03919            uint32_t blockSize);
<a name="l03920"></a>03920 
<a name="l03932"></a>03932   <span class="keywordtype">void</span> arm_lms_init_f32(
<a name="l03933"></a>03933             <a class="code" href="structarm__lms__instance__f32.html" title="Instance structure for the floating-point LMS filter.">arm_lms_instance_f32</a> * S,
<a name="l03934"></a>03934             uint16_t numTaps,
<a name="l03935"></a>03935             float32_t * pCoeffs,
<a name="l03936"></a>03936             float32_t * pState,
<a name="l03937"></a>03937             float32_t mu,
<a name="l03938"></a>03938             uint32_t blockSize);
<a name="l03939"></a>03939 
<a name="l03944"></a><a class="code" href="structarm__lms__instance__q15.html">03944</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l03945"></a>03945   {
<a name="l03946"></a><a class="code" href="structarm__lms__instance__q15.html#a751941891e47f522a7f5375fe8990aac">03946</a>     uint16_t <a class="code" href="structarm__lms__instance__q15.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;    
<a name="l03947"></a><a class="code" href="structarm__lms__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">03947</a>     q15_t *<a class="code" href="structarm__lms__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;       
<a name="l03948"></a><a class="code" href="structarm__lms__instance__q15.html#a7ca181a37f714d174445f486bebce26f">03948</a>     q15_t *<a class="code" href="structarm__lms__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;      
<a name="l03949"></a><a class="code" href="structarm__lms__instance__q15.html#aab4745770bd667de040227eec1b5ff8d">03949</a>     q15_t <a class="code" href="structarm__lms__instance__q15.html#aab4745770bd667de040227eec1b5ff8d">mu</a>;            
<a name="l03950"></a><a class="code" href="structarm__lms__instance__q15.html#aa2cacddfc5e1d86905d7d31a18b1979b">03950</a>     uint32_t <a class="code" href="structarm__lms__instance__q15.html#aa2cacddfc5e1d86905d7d31a18b1979b">postShift</a>;  
<a name="l03951"></a>03951   } <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a>;
<a name="l03952"></a>03952 
<a name="l03953"></a>03953 
<a name="l03966"></a>03966   <span class="keywordtype">void</span> arm_lms_init_q15(
<a name="l03967"></a>03967             <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a> * S,
<a name="l03968"></a>03968             uint16_t numTaps,
<a name="l03969"></a>03969             q15_t * pCoeffs,
<a name="l03970"></a>03970             q15_t * pState,
<a name="l03971"></a>03971             q15_t mu,
<a name="l03972"></a>03972             uint32_t blockSize,
<a name="l03973"></a>03973             uint32_t postShift);
<a name="l03974"></a>03974 
<a name="l03986"></a>03986   <span class="keywordtype">void</span> arm_lms_q15(
<a name="l03987"></a>03987            <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__q15.html" title="Instance structure for the Q15 LMS filter.">arm_lms_instance_q15</a> * S,
<a name="l03988"></a>03988             q15_t * pSrc,
<a name="l03989"></a>03989             q15_t * pRef,
<a name="l03990"></a>03990            q15_t * pOut,
<a name="l03991"></a>03991            q15_t * pErr,
<a name="l03992"></a>03992            uint32_t blockSize);
<a name="l03993"></a>03993 
<a name="l03994"></a>03994 
<a name="l03999"></a><a class="code" href="structarm__lms__instance__q31.html">03999</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04000"></a>04000   {
<a name="l04001"></a><a class="code" href="structarm__lms__instance__q31.html#a751941891e47f522a7f5375fe8990aac">04001</a>     uint16_t <a class="code" href="structarm__lms__instance__q31.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;    
<a name="l04002"></a><a class="code" href="structarm__lms__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">04002</a>     q31_t *<a class="code" href="structarm__lms__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;       
<a name="l04003"></a><a class="code" href="structarm__lms__instance__q31.html#a68888e36167d81cb7836db10367a1682">04003</a>     q31_t *<a class="code" href="structarm__lms__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;      
<a name="l04004"></a><a class="code" href="structarm__lms__instance__q31.html#a21ab4237a726ea7751f5026d89d2e577">04004</a>     q31_t <a class="code" href="structarm__lms__instance__q31.html#a21ab4237a726ea7751f5026d89d2e577">mu</a>;            
<a name="l04005"></a><a class="code" href="structarm__lms__instance__q31.html#aa2cacddfc5e1d86905d7d31a18b1979b">04005</a>     uint32_t <a class="code" href="structarm__lms__instance__q31.html#aa2cacddfc5e1d86905d7d31a18b1979b">postShift</a>;  
<a name="l04007"></a>04007   } <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a>;
<a name="l04008"></a>04008 
<a name="l04020"></a>04020   <span class="keywordtype">void</span> arm_lms_q31(
<a name="l04021"></a>04021            <span class="keyword">const</span> <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a> * S,
<a name="l04022"></a>04022             q31_t * pSrc,
<a name="l04023"></a>04023             q31_t * pRef,
<a name="l04024"></a>04024            q31_t * pOut,
<a name="l04025"></a>04025            q31_t * pErr,
<a name="l04026"></a>04026            uint32_t blockSize);
<a name="l04027"></a>04027 
<a name="l04040"></a>04040   <span class="keywordtype">void</span> arm_lms_init_q31(
<a name="l04041"></a>04041             <a class="code" href="structarm__lms__instance__q31.html" title="Instance structure for the Q31 LMS filter.">arm_lms_instance_q31</a> * S,
<a name="l04042"></a>04042             uint16_t numTaps,
<a name="l04043"></a>04043             q31_t *pCoeffs,
<a name="l04044"></a>04044             q31_t *pState,
<a name="l04045"></a>04045             q31_t mu,
<a name="l04046"></a>04046             uint32_t blockSize,
<a name="l04047"></a>04047             uint32_t postShift);
<a name="l04048"></a>04048 
<a name="l04053"></a><a class="code" href="structarm__lms__norm__instance__f32.html">04053</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04054"></a>04054   {
<a name="l04055"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a751941891e47f522a7f5375fe8990aac">04055</a>     uint16_t  <a class="code" href="structarm__lms__norm__instance__f32.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;    
<a name="l04056"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">04056</a>     float32_t *<a class="code" href="structarm__lms__norm__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;    
<a name="l04057"></a><a class="code" href="structarm__lms__norm__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">04057</a>     float32_t *<a class="code" href="structarm__lms__norm__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;   
<a name="l04058"></a><a class="code" href="structarm__lms__norm__instance__f32.html#a11402afa7c9b9dac4cb953fa386e74d2">04058</a>     float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#a11402afa7c9b9dac4cb953fa386e74d2">mu</a>;        
<a name="l04059"></a><a class="code" href="structarm__lms__norm__instance__f32.html#ae1ed544b72f1510ed55d144a9424fddd">04059</a>     float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#ae1ed544b72f1510ed55d144a9424fddd">energy</a>;    
<a name="l04060"></a><a class="code" href="structarm__lms__norm__instance__f32.html#ab56b6f83c5b324c3ef620474b6e5a6e1">04060</a>     float32_t <a class="code" href="structarm__lms__norm__instance__f32.html#ab56b6f83c5b324c3ef620474b6e5a6e1">x0</a>;        
<a name="l04061"></a>04061   } <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a>;
<a name="l04062"></a>04062 
<a name="l04074"></a>04074   <span class="keywordtype">void</span> arm_lms_norm_f32(
<a name="l04075"></a>04075             <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a> * S,
<a name="l04076"></a>04076              float32_t * pSrc,
<a name="l04077"></a>04077              float32_t * pRef,
<a name="l04078"></a>04078             float32_t * pOut,
<a name="l04079"></a>04079             float32_t * pErr,
<a name="l04080"></a>04080             uint32_t blockSize);
<a name="l04081"></a>04081 
<a name="l04093"></a>04093   <span class="keywordtype">void</span> arm_lms_norm_init_f32(
<a name="l04094"></a>04094                  <a class="code" href="structarm__lms__norm__instance__f32.html" title="Instance structure for the floating-point normalized LMS filter.">arm_lms_norm_instance_f32</a> * S,
<a name="l04095"></a>04095                  uint16_t numTaps,
<a name="l04096"></a>04096                  float32_t * pCoeffs,
<a name="l04097"></a>04097                  float32_t * pState,
<a name="l04098"></a>04098                  float32_t mu,
<a name="l04099"></a>04099                  uint32_t blockSize);
<a name="l04100"></a>04100 
<a name="l04101"></a>04101 
<a name="l04105"></a><a class="code" href="structarm__lms__norm__instance__q31.html">04105</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04106"></a>04106   {
<a name="l04107"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a751941891e47f522a7f5375fe8990aac">04107</a>     uint16_t <a class="code" href="structarm__lms__norm__instance__q31.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;     
<a name="l04108"></a><a class="code" href="structarm__lms__norm__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">04108</a>     q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;        
<a name="l04109"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a68888e36167d81cb7836db10367a1682">04109</a>     q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;       
<a name="l04110"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a21ab4237a726ea7751f5026d89d2e577">04110</a>     q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#a21ab4237a726ea7751f5026d89d2e577">mu</a>;             
<a name="l04111"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a74050e9f36542bd56f4052381a82ae8f">04111</a>     uint8_t <a class="code" href="structarm__lms__norm__instance__q31.html#a74050e9f36542bd56f4052381a82ae8f">postShift</a>;    
<a name="l04112"></a><a class="code" href="structarm__lms__norm__instance__q31.html#aec8a88dd688519b6b1e3c8d2e24bb775">04112</a>     q31_t *<a class="code" href="structarm__lms__norm__instance__q31.html#aec8a88dd688519b6b1e3c8d2e24bb775">recipTable</a>;    
<a name="l04113"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a012fee0f71095d2557bb633e73ef7355">04113</a>     q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#a012fee0f71095d2557bb633e73ef7355">energy</a>;         
<a name="l04114"></a><a class="code" href="structarm__lms__norm__instance__q31.html#a973b8350a0c7b113a5f002bc0b86bf76">04114</a>     q31_t <a class="code" href="structarm__lms__norm__instance__q31.html#a973b8350a0c7b113a5f002bc0b86bf76">x0</a>;             
<a name="l04115"></a>04115   } <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a>;
<a name="l04116"></a>04116 
<a name="l04128"></a>04128   <span class="keywordtype">void</span> arm_lms_norm_q31(
<a name="l04129"></a>04129             <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a> * S,
<a name="l04130"></a>04130              q31_t * pSrc,
<a name="l04131"></a>04131              q31_t * pRef,
<a name="l04132"></a>04132             q31_t * pOut,
<a name="l04133"></a>04133             q31_t * pErr,
<a name="l04134"></a>04134             uint32_t blockSize);
<a name="l04135"></a>04135 
<a name="l04148"></a>04148   <span class="keywordtype">void</span> arm_lms_norm_init_q31(
<a name="l04149"></a>04149                  <a class="code" href="structarm__lms__norm__instance__q31.html" title="Instance structure for the Q31 normalized LMS filter.">arm_lms_norm_instance_q31</a> * S,
<a name="l04150"></a>04150                  uint16_t numTaps,
<a name="l04151"></a>04151                  q31_t * pCoeffs,
<a name="l04152"></a>04152                  q31_t * pState,
<a name="l04153"></a>04153                  q31_t mu,
<a name="l04154"></a>04154                  uint32_t blockSize,
<a name="l04155"></a>04155                  uint8_t postShift);
<a name="l04156"></a>04156 
<a name="l04161"></a><a class="code" href="structarm__lms__norm__instance__q15.html">04161</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04162"></a>04162   {
<a name="l04163"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a751941891e47f522a7f5375fe8990aac">04163</a>     uint16_t <a class="code" href="structarm__lms__norm__instance__q15.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;    
<a name="l04164"></a><a class="code" href="structarm__lms__norm__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">04164</a>     q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;        
<a name="l04165"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a7ca181a37f714d174445f486bebce26f">04165</a>     q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;       
<a name="l04166"></a><a class="code" href="structarm__lms__norm__instance__q15.html#aab4745770bd667de040227eec1b5ff8d">04166</a>     q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#aab4745770bd667de040227eec1b5ff8d">mu</a>;            
<a name="l04167"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a74050e9f36542bd56f4052381a82ae8f">04167</a>     uint8_t <a class="code" href="structarm__lms__norm__instance__q15.html#a74050e9f36542bd56f4052381a82ae8f">postShift</a>;   
<a name="l04168"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a39b65b32f68643831304cece01e093bd">04168</a>     q15_t *<a class="code" href="structarm__lms__norm__instance__q15.html#a39b65b32f68643831304cece01e093bd">recipTable</a>;   
<a name="l04169"></a><a class="code" href="structarm__lms__norm__instance__q15.html#ae7a8ccabc82348f6742ca7a2b3da2a41">04169</a>     q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#ae7a8ccabc82348f6742ca7a2b3da2a41">energy</a>;        
<a name="l04170"></a><a class="code" href="structarm__lms__norm__instance__q15.html#a3c975fed200b19723a2ed11efccca6cd">04170</a>     q15_t <a class="code" href="structarm__lms__norm__instance__q15.html#a3c975fed200b19723a2ed11efccca6cd">x0</a>;            
<a name="l04171"></a>04171   } <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a>;
<a name="l04172"></a>04172 
<a name="l04184"></a>04184   <span class="keywordtype">void</span> arm_lms_norm_q15(
<a name="l04185"></a>04185             <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a> * S,
<a name="l04186"></a>04186              q15_t * pSrc,
<a name="l04187"></a>04187              q15_t * pRef,
<a name="l04188"></a>04188             q15_t * pOut,
<a name="l04189"></a>04189             q15_t * pErr,
<a name="l04190"></a>04190             uint32_t blockSize);
<a name="l04191"></a>04191 
<a name="l04192"></a>04192 
<a name="l04205"></a>04205   <span class="keywordtype">void</span> arm_lms_norm_init_q15(
<a name="l04206"></a>04206                  <a class="code" href="structarm__lms__norm__instance__q15.html" title="Instance structure for the Q15 normalized LMS filter.">arm_lms_norm_instance_q15</a> * S,
<a name="l04207"></a>04207                  uint16_t numTaps,
<a name="l04208"></a>04208                  q15_t * pCoeffs,
<a name="l04209"></a>04209                  q15_t * pState,
<a name="l04210"></a>04210                  q15_t mu,
<a name="l04211"></a>04211                  uint32_t blockSize,
<a name="l04212"></a>04212                  uint8_t postShift);
<a name="l04213"></a>04213 
<a name="l04224"></a>04224   <span class="keywordtype">void</span> arm_correlate_f32(
<a name="l04225"></a>04225               float32_t * pSrcA,
<a name="l04226"></a>04226              uint32_t srcALen,
<a name="l04227"></a>04227               float32_t * pSrcB,
<a name="l04228"></a>04228              uint32_t srcBLen,
<a name="l04229"></a>04229              float32_t * pDst);
<a name="l04230"></a>04230 
<a name="l04241"></a>04241   <span class="keywordtype">void</span> arm_correlate_q15(
<a name="l04242"></a>04242               q15_t * pSrcA,
<a name="l04243"></a>04243              uint32_t srcALen,
<a name="l04244"></a>04244               q15_t * pSrcB,
<a name="l04245"></a>04245              uint32_t srcBLen,
<a name="l04246"></a>04246              q15_t * pDst);
<a name="l04247"></a>04247 
<a name="l04258"></a>04258   <span class="keywordtype">void</span> arm_correlate_fast_q15(
<a name="l04259"></a>04259                    q15_t * pSrcA,
<a name="l04260"></a>04260                   uint32_t srcALen,
<a name="l04261"></a>04261                    q15_t * pSrcB,
<a name="l04262"></a>04262                   uint32_t srcBLen,
<a name="l04263"></a>04263                   q15_t * pDst);
<a name="l04264"></a>04264 
<a name="l04275"></a>04275   <span class="keywordtype">void</span> arm_correlate_q31(
<a name="l04276"></a>04276               q31_t * pSrcA,
<a name="l04277"></a>04277              uint32_t srcALen,
<a name="l04278"></a>04278               q31_t * pSrcB,
<a name="l04279"></a>04279              uint32_t srcBLen,
<a name="l04280"></a>04280              q31_t * pDst);
<a name="l04281"></a>04281 
<a name="l04292"></a>04292   <span class="keywordtype">void</span> arm_correlate_fast_q31(
<a name="l04293"></a>04293                    q31_t * pSrcA,
<a name="l04294"></a>04294                   uint32_t srcALen,
<a name="l04295"></a>04295                    q31_t * pSrcB,
<a name="l04296"></a>04296                   uint32_t srcBLen,
<a name="l04297"></a>04297                   q31_t * pDst);
<a name="l04298"></a>04298 
<a name="l04309"></a>04309   <span class="keywordtype">void</span> arm_correlate_q7(
<a name="l04310"></a>04310              q7_t * pSrcA,
<a name="l04311"></a>04311             uint32_t srcALen,
<a name="l04312"></a>04312              q7_t * pSrcB,
<a name="l04313"></a>04313             uint32_t srcBLen,
<a name="l04314"></a>04314             q7_t * pDst);
<a name="l04315"></a>04315 
<a name="l04319"></a><a class="code" href="structarm__fir__sparse__instance__f32.html">04319</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04320"></a>04320   {
<a name="l04321"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a751941891e47f522a7f5375fe8990aac">04321</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;             
<a name="l04322"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a566a0cb53437e48b9a3bf18e5b03d8aa">04322</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#a566a0cb53437e48b9a3bf18e5b03d8aa">stateIndex</a>;          
<a name="l04323"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">04323</a>     float32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#a335c87e6fdc4b96601d95a5de8b9c463">pState</a>;            
<a name="l04324"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">04324</a>     float32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#aacbb8dd8eeba4b21fc2bb40076405ee3">pCoeffs</a>;           
<a name="l04325"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#ab25f4ee7550e6d92acff77ada283733f">04325</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__f32.html#ab25f4ee7550e6d92acff77ada283733f">maxDelay</a>;            
<a name="l04326"></a><a class="code" href="structarm__fir__sparse__instance__f32.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">04326</a>     int32_t *<a class="code" href="structarm__fir__sparse__instance__f32.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">pTapDelay</a>;           
<a name="l04327"></a>04327   } <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a>;
<a name="l04328"></a>04328 
<a name="l04333"></a><a class="code" href="structarm__fir__sparse__instance__q31.html">04333</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04334"></a>04334   {
<a name="l04335"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a751941891e47f522a7f5375fe8990aac">04335</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;             
<a name="l04336"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a566a0cb53437e48b9a3bf18e5b03d8aa">04336</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#a566a0cb53437e48b9a3bf18e5b03d8aa">stateIndex</a>;          
<a name="l04337"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">04337</a>     q31_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#adee4ba3ee8869865af7d8fa08ca913d6">pState</a>;                
<a name="l04338"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#a68888e36167d81cb7836db10367a1682">04338</a>     q31_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#a68888e36167d81cb7836db10367a1682">pCoeffs</a>;               
<a name="l04339"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#ab25f4ee7550e6d92acff77ada283733f">04339</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q31.html#ab25f4ee7550e6d92acff77ada283733f">maxDelay</a>;            
<a name="l04340"></a><a class="code" href="structarm__fir__sparse__instance__q31.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">04340</a>     int32_t *<a class="code" href="structarm__fir__sparse__instance__q31.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">pTapDelay</a>;           
<a name="l04341"></a>04341   } <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a>;
<a name="l04342"></a>04342 
<a name="l04347"></a><a class="code" href="structarm__fir__sparse__instance__q15.html">04347</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04348"></a>04348   {
<a name="l04349"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a751941891e47f522a7f5375fe8990aac">04349</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;             
<a name="l04350"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a566a0cb53437e48b9a3bf18e5b03d8aa">04350</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#a566a0cb53437e48b9a3bf18e5b03d8aa">stateIndex</a>;          
<a name="l04351"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">04351</a>     q15_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#ae29dfdb736374fcddaeaec4b7770170c">pState</a>;                
<a name="l04352"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#a7ca181a37f714d174445f486bebce26f">04352</a>     q15_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#a7ca181a37f714d174445f486bebce26f">pCoeffs</a>;               
<a name="l04353"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#ab25f4ee7550e6d92acff77ada283733f">04353</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q15.html#ab25f4ee7550e6d92acff77ada283733f">maxDelay</a>;            
<a name="l04354"></a><a class="code" href="structarm__fir__sparse__instance__q15.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">04354</a>     int32_t *<a class="code" href="structarm__fir__sparse__instance__q15.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">pTapDelay</a>;           
<a name="l04355"></a>04355   } <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a>;
<a name="l04356"></a>04356 
<a name="l04361"></a><a class="code" href="structarm__fir__sparse__instance__q7.html">04361</a>   <span class="keyword">typedef</span> <span class="keyword">struct</span>
<a name="l04362"></a>04362   {
<a name="l04363"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a751941891e47f522a7f5375fe8990aac">04363</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#a751941891e47f522a7f5375fe8990aac">numTaps</a>;             
<a name="l04364"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a566a0cb53437e48b9a3bf18e5b03d8aa">04364</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#a566a0cb53437e48b9a3bf18e5b03d8aa">stateIndex</a>;          
<a name="l04365"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#aa8f67102521b620af6f259afdcf29785">04365</a>     q7_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#aa8f67102521b620af6f259afdcf29785">pState</a>;                 
<a name="l04366"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#a54407554b4fe7bbbb43924e4eea45e7f">04366</a>     q7_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#a54407554b4fe7bbbb43924e4eea45e7f">pCoeffs</a>;                
<a name="l04367"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#ab25f4ee7550e6d92acff77ada283733f">04367</a>     uint16_t <a class="code" href="structarm__fir__sparse__instance__q7.html#ab25f4ee7550e6d92acff77ada283733f">maxDelay</a>;            
<a name="l04368"></a><a class="code" href="structarm__fir__sparse__instance__q7.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">04368</a>     int32_t *<a class="code" href="structarm__fir__sparse__instance__q7.html#adec00b3793ab4f08edfeb4ea6a9eb6e6">pTapDelay</a>;           
<a name="l04369"></a>04369   } <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a>;
<a name="l04370"></a>04370 
<a name="l04381"></a>04381   <span class="keywordtype">void</span> arm_fir_sparse_f32(
<a name="l04382"></a>04382               <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a> * S,
<a name="l04383"></a>04383                float32_t * pSrc,
<a name="l04384"></a>04384               float32_t * pDst,
<a name="l04385"></a>04385               float32_t * pScratchIn,
<a name="l04386"></a>04386               uint32_t blockSize);
<a name="l04387"></a>04387 
<a name="l04400"></a>04400   <span class="keywordtype">void</span> arm_fir_sparse_init_f32(
<a name="l04401"></a>04401                    <a class="code" href="structarm__fir__sparse__instance__f32.html" title="Instance structure for the floating-point sparse FIR filter.">arm_fir_sparse_instance_f32</a> * S,
<a name="l04402"></a>04402                    uint16_t numTaps,
<a name="l04403"></a>04403                    float32_t * pCoeffs,
<a name="l04404"></a>04404                    float32_t * pState,
<a name="l04405"></a>04405                    int32_t * pTapDelay,
<a name="l04406"></a>04406                    uint16_t maxDelay,
<a name="l04407"></a>04407                    uint32_t blockSize);
<a name="l04408"></a>04408 
<a name="l04419"></a>04419   <span class="keywordtype">void</span> arm_fir_sparse_q31(
<a name="l04420"></a>04420               <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a> * S,
<a name="l04421"></a>04421                q31_t * pSrc,
<a name="l04422"></a>04422               q31_t * pDst,
<a name="l04423"></a>04423               q31_t * pScratchIn,
<a name="l04424"></a>04424               uint32_t blockSize);
<a name="l04425"></a>04425 
<a name="l04438"></a>04438   <span class="keywordtype">void</span> arm_fir_sparse_init_q31(
<a name="l04439"></a>04439                    <a class="code" href="structarm__fir__sparse__instance__q31.html" title="Instance structure for the Q31 sparse FIR filter.">arm_fir_sparse_instance_q31</a> * S,
<a name="l04440"></a>04440                    uint16_t numTaps,
<a name="l04441"></a>04441                    q31_t * pCoeffs,
<a name="l04442"></a>04442                    q31_t * pState,
<a name="l04443"></a>04443                    int32_t * pTapDelay,
<a name="l04444"></a>04444                    uint16_t maxDelay,
<a name="l04445"></a>04445                    uint32_t blockSize);
<a name="l04446"></a>04446 
<a name="l04458"></a>04458   <span class="keywordtype">void</span> arm_fir_sparse_q15(
<a name="l04459"></a>04459               <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a> * S,
<a name="l04460"></a>04460                q15_t * pSrc,
<a name="l04461"></a>04461               q15_t * pDst,
<a name="l04462"></a>04462               q15_t * pScratchIn,
<a name="l04463"></a>04463               q31_t * pScratchOut,
<a name="l04464"></a>04464               uint32_t blockSize);
<a name="l04465"></a>04465 
<a name="l04466"></a>04466 
<a name="l04479"></a>04479   <span class="keywordtype">void</span> arm_fir_sparse_init_q15(
<a name="l04480"></a>04480                    <a class="code" href="structarm__fir__sparse__instance__q15.html" title="Instance structure for the Q15 sparse FIR filter.">arm_fir_sparse_instance_q15</a> * S,
<a name="l04481"></a>04481                    uint16_t numTaps,
<a name="l04482"></a>04482                    q15_t * pCoeffs,
<a name="l04483"></a>04483                    q15_t * pState,
<a name="l04484"></a>04484                    int32_t * pTapDelay,
<a name="l04485"></a>04485                    uint16_t maxDelay,
<a name="l04486"></a>04486                    uint32_t blockSize);
<a name="l04487"></a>04487 
<a name="l04499"></a>04499   <span class="keywordtype">void</span> arm_fir_sparse_q7(
<a name="l04500"></a>04500              <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a> * S,
<a name="l04501"></a>04501               q7_t * pSrc,
<a name="l04502"></a>04502              q7_t * pDst,
<a name="l04503"></a>04503              q7_t * pScratchIn,
<a name="l04504"></a>04504              q31_t * pScratchOut,
<a name="l04505"></a>04505              uint32_t blockSize);
<a name="l04506"></a>04506 
<a name="l04519"></a>04519   <span class="keywordtype">void</span> arm_fir_sparse_init_q7(
<a name="l04520"></a>04520                   <a class="code" href="structarm__fir__sparse__instance__q7.html" title="Instance structure for the Q7 sparse FIR filter.">arm_fir_sparse_instance_q7</a> * S,
<a name="l04521"></a>04521                   uint16_t numTaps,
<a name="l04522"></a>04522                   q7_t * pCoeffs,
<a name="l04523"></a>04523                   q7_t * pState,
<a name="l04524"></a>04524                   int32_t *pTapDelay,
<a name="l04525"></a>04525                   uint16_t maxDelay,
<a name="l04526"></a>04526                   uint32_t blockSize);
<a name="l04527"></a>04527 
<a name="l04528"></a>04528 
<a name="l04529"></a>04529   <span class="comment">/*</span>
<a name="l04530"></a>04530 <span class="comment">   * @brief  Floating-point sin_cos function.</span>
<a name="l04531"></a>04531 <span class="comment">   * @param[in]  theta    input value in degrees </span>
<a name="l04532"></a>04532 <span class="comment">   * @param[out] *pSinVal points to the processed sine output. </span>
<a name="l04533"></a>04533 <span class="comment">   * @param[out] *pCosVal points to the processed cos output. </span>
<a name="l04534"></a>04534 <span class="comment">   * @return none.</span>
<a name="l04535"></a>04535 <span class="comment">   */</span>
<a name="l04536"></a>04536 
<a name="l04537"></a>04537   <span class="keywordtype">void</span> arm_sin_cos_f32(
<a name="l04538"></a>04538                float32_t theta,
<a name="l04539"></a>04539                float32_t *pSinVal,
<a name="l04540"></a>04540                float32_t *pCcosVal);
<a name="l04541"></a>04541 
<a name="l04542"></a>04542   <span class="comment">/*</span>
<a name="l04543"></a>04543 <span class="comment">   * @brief  Q31 sin_cos function.</span>
<a name="l04544"></a>04544 <span class="comment">   * @param[in]  theta    scaled input value in degrees </span>
<a name="l04545"></a>04545 <span class="comment">   * @param[out] *pSinVal points to the processed sine output. </span>
<a name="l04546"></a>04546 <span class="comment">   * @param[out] *pCosVal points to the processed cosine output. </span>
<a name="l04547"></a>04547 <span class="comment">   * @return none.</span>
<a name="l04548"></a>04548 <span class="comment">   */</span>
<a name="l04549"></a>04549 
<a name="l04550"></a>04550   <span class="keywordtype">void</span> arm_sin_cos_q31(
<a name="l04551"></a>04551                q31_t theta,
<a name="l04552"></a>04552                q31_t *pSinVal,
<a name="l04553"></a>04553                q31_t *pCosVal);
<a name="l04554"></a>04554 
<a name="l04555"></a>04555 
<a name="l04564"></a>04564   <span class="keywordtype">void</span> arm_cmplx_conj_f32(
<a name="l04565"></a>04565                float32_t * pSrc,
<a name="l04566"></a>04566               float32_t * pDst,
<a name="l04567"></a>04567               uint32_t numSamples);
<a name="l04568"></a>04568 
<a name="l04577"></a>04577   <span class="keywordtype">void</span> arm_cmplx_conj_q31(
<a name="l04578"></a>04578                q31_t * pSrc,
<a name="l04579"></a>04579               q31_t * pDst,
<a name="l04580"></a>04580               uint32_t numSamples);
<a name="l04581"></a>04581 
<a name="l04590"></a>04590   <span class="keywordtype">void</span> arm_cmplx_conj_q15(
<a name="l04591"></a>04591                q15_t * pSrc,
<a name="l04592"></a>04592               q15_t * pDst,
<a name="l04593"></a>04593               uint32_t numSamples);
<a name="l04594"></a>04594 
<a name="l04595"></a>04595 
<a name="l04596"></a>04596 
<a name="l04605"></a>04605   <span class="keywordtype">void</span> arm_cmplx_mag_squared_f32(
<a name="l04606"></a>04606                   float32_t * pSrc,
<a name="l04607"></a>04607                  float32_t * pDst,
<a name="l04608"></a>04608                  uint32_t numSamples);
<a name="l04609"></a>04609 
<a name="l04618"></a>04618   <span class="keywordtype">void</span> arm_cmplx_mag_squared_q31(
<a name="l04619"></a>04619                   q31_t * pSrc,
<a name="l04620"></a>04620                  q31_t * pDst,
<a name="l04621"></a>04621                  uint32_t numSamples);
<a name="l04622"></a>04622 
<a name="l04631"></a>04631   <span class="keywordtype">void</span> arm_cmplx_mag_squared_q15(
<a name="l04632"></a>04632                   q15_t * pSrc,
<a name="l04633"></a>04633                  q15_t * pDst,
<a name="l04634"></a>04634                  uint32_t numSamples);
<a name="l04635"></a>04635 
<a name="l04636"></a>04636 
<a name="l04711"></a><a class="code" href="group___p_i_d.html#gac5c79ed46abf2d72b8cf41fa6c708bda">04711</a>   <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___p_i_d.html#gac5c79ed46abf2d72b8cf41fa6c708bda" title="Process function for the floating-point PID Control.">arm_pid_f32</a>(
<a name="l04712"></a>04712                     <a class="code" href="structarm__pid__instance__f32.html" title="Instance structure for the floating-point PID Control.">arm_pid_instance_f32</a> * S,
<a name="l04713"></a>04713                     float32_t in)
<a name="l04714"></a>04714   {
<a name="l04715"></a>04715     float32_t out;
<a name="l04716"></a>04716 
<a name="l04717"></a>04717     <span class="comment">/* y[n] = y[n-1] + A0 * x[n] + A1 * x[n-1] + A2 * x[n-2]  */</span>
<a name="l04718"></a>04718     out = (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#afc2ed2bf70b7d9d84f49ee9ae7caa004">A0</a> * in) +
<a name="l04719"></a>04719       (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a5e6785a3a5cf7b98f3bfc7b180d98273">A1</a> * S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[0]) + (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a5b00947275caf079f351271bf41573fe">A2</a> * S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[1]) + (S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[2]);
<a name="l04720"></a>04720 
<a name="l04721"></a>04721     <span class="comment">/* Update state */</span>
<a name="l04722"></a>04722     S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[0];
<a name="l04723"></a>04723     S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[0] = in;
<a name="l04724"></a>04724     S-&gt;<a class="code" href="structarm__pid__instance__f32.html#a473556ac6100fc188e77930d56f51062">state</a>[2] = out;
<a name="l04725"></a>04725 
<a name="l04726"></a>04726     <span class="comment">/* return to application */</span>
<a name="l04727"></a>04727     <span class="keywordflow">return</span> (out);
<a name="l04728"></a>04728 
<a name="l04729"></a>04729   }
<a name="l04730"></a>04730 
<a name="l04746"></a><a class="code" href="group___p_i_d.html#ga5f6f941e7ae981728dd3a662f8f4ecd7">04746</a>   <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___p_i_d.html#ga5f6f941e7ae981728dd3a662f8f4ecd7" title="Process function for the Q31 PID Control.">arm_pid_q31</a>(
<a name="l04747"></a>04747                     <a class="code" href="structarm__pid__instance__q31.html" title="Instance structure for the Q31 PID Control.">arm_pid_instance_q31</a> * S,
<a name="l04748"></a>04748                     q31_t in)
<a name="l04749"></a>04749   {
<a name="l04750"></a>04750     q63_t acc;
<a name="l04751"></a>04751     q31_t out;
<a name="l04752"></a>04752 
<a name="l04753"></a>04753     <span class="comment">/* acc = A0 * x[n]  */</span>
<a name="l04754"></a>04754     acc = (q63_t) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#ab58496a4137da4c667915a5fc0ef57ef">A0</a> * in;
<a name="l04755"></a>04755 
<a name="l04756"></a>04756     <span class="comment">/* acc += A1 * x[n-1] */</span>
<a name="l04757"></a>04757     acc += (q63_t) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#aeb897c84724b56948e4222aca8d0e1f4">A1</a> * S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[0];
<a name="l04758"></a>04758 
<a name="l04759"></a>04759     <span class="comment">/* acc += A2 * x[n-2]  */</span>
<a name="l04760"></a>04760     acc += (q63_t) S-&gt;<a class="code" href="structarm__pid__instance__q31.html#a4ae945f839719fb2c04c978724b78ebb">A2</a> * S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[1];
<a name="l04761"></a>04761 
<a name="l04762"></a>04762     <span class="comment">/* convert output to 1.31 format to add y[n-1] */</span>
<a name="l04763"></a>04763     out = (q31_t) (acc &gt;&gt; 31u);
<a name="l04764"></a>04764 
<a name="l04765"></a>04765     <span class="comment">/* out += y[n-1] */</span>
<a name="l04766"></a>04766     out += S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[2];
<a name="l04767"></a>04767 
<a name="l04768"></a>04768     <span class="comment">/* Update state */</span>
<a name="l04769"></a>04769     S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[0];
<a name="l04770"></a>04770     S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[0] = in;
<a name="l04771"></a>04771     S-&gt;<a class="code" href="structarm__pid__instance__q31.html#af0a2da4da9a94af652873ec7e7be4880">state</a>[2] = out;
<a name="l04772"></a>04772 
<a name="l04773"></a>04773     <span class="comment">/* return to application */</span>
<a name="l04774"></a>04774     <span class="keywordflow">return</span> (out);
<a name="l04775"></a>04775 
<a name="l04776"></a>04776   }
<a name="l04777"></a>04777 
<a name="l04794"></a><a class="code" href="group___p_i_d.html#ga084f646bbb20d55f225c3efafcf7fc1f">04794</a>   <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___p_i_d.html#ga084f646bbb20d55f225c3efafcf7fc1f" title="Process function for the Q15 PID Control.">arm_pid_q15</a>(
<a name="l04795"></a>04795                     <a class="code" href="structarm__pid__instance__q15.html" title="Instance structure for the Q15 PID Control.">arm_pid_instance_q15</a> * S,
<a name="l04796"></a>04796                     q15_t in)
<a name="l04797"></a>04797   {
<a name="l04798"></a>04798     q63_t acc;
<a name="l04799"></a>04799     q15_t out;
<a name="l04800"></a>04800 
<a name="l04801"></a>04801     <span class="comment">/* Implementation of PID controller */</span>
<a name="l04802"></a>04802 
<a name="l04803"></a>04803 <span class="preprocessor">    #ifdef ARM_MATH_CM0</span>
<a name="l04804"></a>04804 <span class="preprocessor"></span>
<a name="l04805"></a>04805     <span class="comment">/* acc = A0 * x[n]  */</span>
<a name="l04806"></a>04806     acc = ((q31_t) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a1aa73268c65cea0c7bc66bb70ff35205">A0</a> )* in ;
<a name="l04807"></a>04807 
<a name="l04808"></a>04808 <span class="preprocessor">    #else</span>
<a name="l04809"></a>04809 <span class="preprocessor"></span>                
<a name="l04810"></a>04810     <span class="comment">/* acc = A0 * x[n]  */</span>
<a name="l04811"></a>04811     acc = (q31_t) __SMUAD(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a1aa73268c65cea0c7bc66bb70ff35205">A0</a>, in);
<a name="l04812"></a>04812     
<a name="l04813"></a>04813 <span class="preprocessor">    #endif</span>
<a name="l04814"></a>04814 <span class="preprocessor"></span>
<a name="l04815"></a>04815 <span class="preprocessor">    #ifdef ARM_MATH_CM0</span>
<a name="l04816"></a>04816 <span class="preprocessor"></span>                           
<a name="l04817"></a>04817     <span class="comment">/* acc += A1 * x[n-1] + A2 * x[n-2]  */</span>
<a name="l04818"></a>04818     acc += (q31_t) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#aeb897c84724b56948e4222aca8d0e1f4">A1</a>  *  S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[0] ;
<a name="l04819"></a>04819     acc += (q31_t) S-&gt;A2  *  S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[1] ;
<a name="l04820"></a>04820 
<a name="l04821"></a>04821 <span class="preprocessor">    #else</span>
<a name="l04822"></a>04822 <span class="preprocessor"></span>
<a name="l04823"></a>04823     <span class="comment">/* acc += A1 * x[n-1] + A2 * x[n-2]  */</span>
<a name="l04824"></a>04824     acc = __SMLALD(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#aeb897c84724b56948e4222aca8d0e1f4">A1</a>, (q31_t)__SIMD32(S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>), acc);
<a name="l04825"></a>04825 
<a name="l04826"></a>04826 <span class="preprocessor">    #endif</span>
<a name="l04827"></a>04827 <span class="preprocessor"></span>
<a name="l04828"></a>04828     <span class="comment">/* acc += y[n-1] */</span>
<a name="l04829"></a>04829     acc += (q31_t) S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[2] &lt;&lt; 15;
<a name="l04830"></a>04830 
<a name="l04831"></a>04831     <span class="comment">/* saturate the output */</span>
<a name="l04832"></a>04832     out = (q15_t) (__SSAT((acc &gt;&gt; 15), 16));
<a name="l04833"></a>04833 
<a name="l04834"></a>04834     <span class="comment">/* Update state */</span>
<a name="l04835"></a>04835     S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[1] = S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[0];
<a name="l04836"></a>04836     S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[0] = in;
<a name="l04837"></a>04837     S-&gt;<a class="code" href="structarm__pid__instance__q15.html#a4c4e19d77015f5f7a31a1daf0faf31b6">state</a>[2] = out;
<a name="l04838"></a>04838 
<a name="l04839"></a>04839     <span class="comment">/* return to application */</span>
<a name="l04840"></a>04840     <span class="keywordflow">return</span> (out);
<a name="l04841"></a>04841 
<a name="l04842"></a>04842   }
<a name="l04843"></a>04843   
<a name="l04857"></a>04857   arm_status arm_mat_inverse_f32(
<a name="l04858"></a>04858                  <span class="keyword">const</span> <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * src,
<a name="l04859"></a>04859                  <a class="code" href="structarm__matrix__instance__f32.html" title="Instance structure for the floating-point matrix structure.">arm_matrix_instance_f32</a> * dst);
<a name="l04860"></a>04860 
<a name="l04861"></a>04861   
<a name="l04862"></a>04862  
<a name="l04905"></a><a class="code" href="group__clarke.html#ga2b4ebec76215e1277c970c269ffdbd76">04905</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__clarke.html#ga2b4ebec76215e1277c970c269ffdbd76" title="Floating-point Clarke transform.">arm_clarke_f32</a>(
<a name="l04906"></a>04906                       float32_t Ia,
<a name="l04907"></a>04907                       float32_t Ib,
<a name="l04908"></a>04908                       float32_t * pIalpha,
<a name="l04909"></a>04909                       float32_t * pIbeta)
<a name="l04910"></a>04910   {
<a name="l04911"></a>04911     <span class="comment">/* Calculate pIalpha using the equation, pIalpha = Ia */</span>
<a name="l04912"></a>04912     *pIalpha = Ia;
<a name="l04913"></a>04913 
<a name="l04914"></a>04914     <span class="comment">/* Calculate pIbeta using the equation, pIbeta = (1/sqrt(3)) * Ia + (2/sqrt(3)) * Ib */</span>
<a name="l04915"></a>04915     *pIbeta = ((float32_t) 0.57735026919 * Ia + (float32_t) 1.15470053838 * Ib);
<a name="l04916"></a>04916 
<a name="l04917"></a>04917   }
<a name="l04918"></a>04918 
<a name="l04934"></a><a class="code" href="group__clarke.html#ga7fd106ca8d346a2a472842e0656014c1">04934</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__clarke.html#ga7fd106ca8d346a2a472842e0656014c1" title="Clarke transform for Q31 version.">arm_clarke_q31</a>(
<a name="l04935"></a>04935                       q31_t Ia,
<a name="l04936"></a>04936                       q31_t Ib,
<a name="l04937"></a>04937                       q31_t * pIalpha,
<a name="l04938"></a>04938                       q31_t * pIbeta)
<a name="l04939"></a>04939   {
<a name="l04940"></a>04940     q31_t product1, product2;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l04941"></a>04941 
<a name="l04942"></a>04942     <span class="comment">/* Calculating pIalpha from Ia by equation pIalpha = Ia */</span>
<a name="l04943"></a>04943     *pIalpha = Ia;
<a name="l04944"></a>04944 
<a name="l04945"></a>04945     <span class="comment">/* Intermediate product is calculated by (1/(sqrt(3)) * Ia) */</span>
<a name="l04946"></a>04946     product1 = (q31_t) (((q63_t) Ia * 0x24F34E8B) &gt;&gt; 30);
<a name="l04947"></a>04947 
<a name="l04948"></a>04948     <span class="comment">/* Intermediate product is calculated by (2/sqrt(3) * Ib) */</span>
<a name="l04949"></a>04949     product2 = (q31_t) (((q63_t) Ib * 0x49E69D16) &gt;&gt; 30);
<a name="l04950"></a>04950 
<a name="l04951"></a>04951     <span class="comment">/* pIbeta is calculated by adding the intermediate products */</span>
<a name="l04952"></a>04952     *pIbeta = __QADD(product1, product2);
<a name="l04953"></a>04953   }
<a name="l04954"></a>04954 
<a name="l04966"></a>04966   <span class="keywordtype">void</span> arm_q7_to_q31(
<a name="l04967"></a>04967              q7_t * pSrc,
<a name="l04968"></a>04968              q31_t * pDst,
<a name="l04969"></a>04969              uint32_t blockSize);
<a name="l04970"></a>04970 
<a name="l04971"></a>04971 
<a name="l04972"></a>04972  
<a name="l04973"></a>04973 
<a name="l05009"></a><a class="code" href="group__inv__clarke.html#ga137f0396d837477b899ecae89f075a50">05009</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__clarke.html#ga137f0396d837477b899ecae89f075a50" title="Floating-point Inverse Clarke transform.">arm_inv_clarke_f32</a>(
<a name="l05010"></a>05010                       float32_t Ialpha,
<a name="l05011"></a>05011                       float32_t Ibeta,
<a name="l05012"></a>05012                       float32_t * pIa,
<a name="l05013"></a>05013                       float32_t * pIb)
<a name="l05014"></a>05014   {
<a name="l05015"></a>05015     <span class="comment">/* Calculating pIa from Ialpha by equation pIa = Ialpha */</span>
<a name="l05016"></a>05016     *pIa = Ialpha;
<a name="l05017"></a>05017 
<a name="l05018"></a>05018     <span class="comment">/* Calculating pIb from Ialpha and Ibeta by equation pIb = -(1/2) * Ialpha + (sqrt(3)/2) * Ibeta */</span>
<a name="l05019"></a>05019     *pIb = -0.5 * Ialpha + (float32_t) 0.8660254039 *Ibeta;
<a name="l05020"></a>05020 
<a name="l05021"></a>05021   }
<a name="l05022"></a>05022 
<a name="l05038"></a><a class="code" href="group__inv__clarke.html#ga2d0c60f114f095a2f27442d98781ba02">05038</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__clarke.html#ga2d0c60f114f095a2f27442d98781ba02" title="Inverse Clarke transform for Q31 version.">arm_inv_clarke_q31</a>(
<a name="l05039"></a>05039                       q31_t Ialpha,
<a name="l05040"></a>05040                       q31_t Ibeta,
<a name="l05041"></a>05041                       q31_t * pIa,
<a name="l05042"></a>05042                       q31_t * pIb)
<a name="l05043"></a>05043   {
<a name="l05044"></a>05044     q31_t product1, product2;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l05045"></a>05045 
<a name="l05046"></a>05046     <span class="comment">/* Calculating pIa from Ialpha by equation pIa = Ialpha */</span>
<a name="l05047"></a>05047     *pIa = Ialpha;
<a name="l05048"></a>05048 
<a name="l05049"></a>05049     <span class="comment">/* Intermediate product is calculated by (1/(2*sqrt(3)) * Ia) */</span>
<a name="l05050"></a>05050     product1 = (q31_t) (((q63_t) (Ialpha) * (0x40000000)) &gt;&gt; 31);
<a name="l05051"></a>05051 
<a name="l05052"></a>05052     <span class="comment">/* Intermediate product is calculated by (1/sqrt(3) * pIb) */</span>
<a name="l05053"></a>05053     product2 = (q31_t) (((q63_t) (Ibeta) * (0x6ED9EBA1)) &gt;&gt; 31);
<a name="l05054"></a>05054 
<a name="l05055"></a>05055     <span class="comment">/* pIb is calculated by subtracting the products */</span>
<a name="l05056"></a>05056     *pIb = __QSUB(product2, product1);
<a name="l05057"></a>05057 
<a name="l05058"></a>05058   }
<a name="l05059"></a>05059 
<a name="l05071"></a>05071   <span class="keywordtype">void</span> arm_q7_to_q15(
<a name="l05072"></a>05072               q7_t * pSrc,
<a name="l05073"></a>05073              q15_t * pDst,
<a name="l05074"></a>05074              uint32_t blockSize);
<a name="l05075"></a>05075 
<a name="l05076"></a>05076   
<a name="l05077"></a>05077 
<a name="l05125"></a><a class="code" href="group__park.html#ga08b3a683197de7e143fb00497787683c">05125</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__park.html#ga08b3a683197de7e143fb00497787683c" title="Floating-point Park transform.">arm_park_f32</a>(
<a name="l05126"></a>05126                     float32_t Ialpha,
<a name="l05127"></a>05127                     float32_t Ibeta,
<a name="l05128"></a>05128                     float32_t * pId,
<a name="l05129"></a>05129                     float32_t * pIq,
<a name="l05130"></a>05130                     float32_t sinVal,
<a name="l05131"></a>05131                     float32_t cosVal)
<a name="l05132"></a>05132   {
<a name="l05133"></a>05133     <span class="comment">/* Calculate pId using the equation, pId = Ialpha * cosVal + Ibeta * sinVal */</span>
<a name="l05134"></a>05134     *pId = Ialpha * cosVal + Ibeta * sinVal;
<a name="l05135"></a>05135 
<a name="l05136"></a>05136     <span class="comment">/* Calculate pIq using the equation, pIq = - Ialpha * sinVal + Ibeta * cosVal */</span>
<a name="l05137"></a>05137     *pIq = -Ialpha * sinVal + Ibeta * cosVal;
<a name="l05138"></a>05138 
<a name="l05139"></a>05139   }
<a name="l05140"></a>05140 
<a name="l05159"></a><a class="code" href="group__park.html#gaf4cc6370c0cfc14ea66774ed3c5bb10f">05159</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__park.html#gaf4cc6370c0cfc14ea66774ed3c5bb10f" title="Park transform for Q31 version.">arm_park_q31</a>(
<a name="l05160"></a>05160                     q31_t Ialpha,
<a name="l05161"></a>05161                     q31_t Ibeta,
<a name="l05162"></a>05162                     q31_t * pId,
<a name="l05163"></a>05163                     q31_t * pIq,
<a name="l05164"></a>05164                     q31_t sinVal,
<a name="l05165"></a>05165                     q31_t cosVal)
<a name="l05166"></a>05166   {
<a name="l05167"></a>05167     q31_t product1, product2;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l05168"></a>05168     q31_t product3, product4;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l05169"></a>05169 
<a name="l05170"></a>05170     <span class="comment">/* Intermediate product is calculated by (Ialpha * cosVal) */</span>
<a name="l05171"></a>05171     product1 = (q31_t) (((q63_t) (Ialpha) * (cosVal)) &gt;&gt; 31);
<a name="l05172"></a>05172 
<a name="l05173"></a>05173     <span class="comment">/* Intermediate product is calculated by (Ibeta * sinVal) */</span>
<a name="l05174"></a>05174     product2 = (q31_t) (((q63_t) (Ibeta) * (sinVal)) &gt;&gt; 31);
<a name="l05175"></a>05175 
<a name="l05176"></a>05176 
<a name="l05177"></a>05177     <span class="comment">/* Intermediate product is calculated by (Ialpha * sinVal) */</span>
<a name="l05178"></a>05178     product3 = (q31_t) (((q63_t) (Ialpha) * (sinVal)) &gt;&gt; 31);
<a name="l05179"></a>05179 
<a name="l05180"></a>05180     <span class="comment">/* Intermediate product is calculated by (Ibeta * cosVal) */</span>
<a name="l05181"></a>05181     product4 = (q31_t) (((q63_t) (Ibeta) * (cosVal)) &gt;&gt; 31);
<a name="l05182"></a>05182 
<a name="l05183"></a>05183     <span class="comment">/* Calculate pId by adding the two intermediate products 1 and 2 */</span>
<a name="l05184"></a>05184     *pId = __QADD(product1, product2);
<a name="l05185"></a>05185 
<a name="l05186"></a>05186     <span class="comment">/* Calculate pIq by subtracting the two intermediate products 3 from 4 */</span>
<a name="l05187"></a>05187     *pIq = __QSUB(product4, product3);
<a name="l05188"></a>05188   }
<a name="l05189"></a>05189 
<a name="l05201"></a>05201   <span class="keywordtype">void</span> arm_q7_to_float(
<a name="l05202"></a>05202                 q7_t * pSrc,
<a name="l05203"></a>05203                float32_t * pDst,
<a name="l05204"></a>05204                uint32_t blockSize);
<a name="l05205"></a>05205 
<a name="l05206"></a>05206  
<a name="l05244"></a><a class="code" href="group__inv__park.html#gaaf6bef0de21946f774d49df050dd8b05">05244</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__park.html#gaaf6bef0de21946f774d49df050dd8b05" title="Floating-point Inverse Park transform.">arm_inv_park_f32</a>(
<a name="l05245"></a>05245                     float32_t Id,
<a name="l05246"></a>05246                     float32_t Iq,
<a name="l05247"></a>05247                     float32_t * pIalpha,
<a name="l05248"></a>05248                     float32_t * pIbeta,
<a name="l05249"></a>05249                     float32_t sinVal,
<a name="l05250"></a>05250                     float32_t cosVal)
<a name="l05251"></a>05251   {
<a name="l05252"></a>05252     <span class="comment">/* Calculate pIalpha using the equation, pIalpha = Id * cosVal - Iq * sinVal */</span>
<a name="l05253"></a>05253     *pIalpha = Id * cosVal - Iq * sinVal;
<a name="l05254"></a>05254 
<a name="l05255"></a>05255     <span class="comment">/* Calculate pIbeta using the equation, pIbeta = Id * sinVal + Iq * cosVal */</span>
<a name="l05256"></a>05256     *pIbeta = Id * sinVal + Iq * cosVal;
<a name="l05257"></a>05257 
<a name="l05258"></a>05258   }
<a name="l05259"></a>05259 
<a name="l05260"></a>05260 
<a name="l05279"></a><a class="code" href="group__inv__park.html#ga0b33822b988a15455773d28440c5579a">05279</a>   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> <a class="code" href="group__inv__park.html#ga0b33822b988a15455773d28440c5579a" title="Inverse Park transform for Q31 version.">arm_inv_park_q31</a>(
<a name="l05280"></a>05280                     q31_t Id,
<a name="l05281"></a>05281                     q31_t Iq,
<a name="l05282"></a>05282                     q31_t * pIalpha,
<a name="l05283"></a>05283                     q31_t * pIbeta,
<a name="l05284"></a>05284                     q31_t sinVal,
<a name="l05285"></a>05285                     q31_t cosVal)
<a name="l05286"></a>05286   {
<a name="l05287"></a>05287     q31_t product1, product2;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l05288"></a>05288     q31_t product3, product4;                    <span class="comment">/* Temporary variables used to store intermediate results */</span>
<a name="l05289"></a>05289 
<a name="l05290"></a>05290     <span class="comment">/* Intermediate product is calculated by (Id * cosVal) */</span>
<a name="l05291"></a>05291     product1 = (q31_t) (((q63_t) (Id) * (cosVal)) &gt;&gt; 31);
<a name="l05292"></a>05292 
<a name="l05293"></a>05293     <span class="comment">/* Intermediate product is calculated by (Iq * sinVal) */</span>
<a name="l05294"></a>05294     product2 = (q31_t) (((q63_t) (Iq) * (sinVal)) &gt;&gt; 31);
<a name="l05295"></a>05295 
<a name="l05296"></a>05296 
<a name="l05297"></a>05297     <span class="comment">/* Intermediate product is calculated by (Id * sinVal) */</span>
<a name="l05298"></a>05298     product3 = (q31_t) (((q63_t) (Id) * (sinVal)) &gt;&gt; 31);
<a name="l05299"></a>05299 
<a name="l05300"></a>05300     <span class="comment">/* Intermediate product is calculated by (Iq * cosVal) */</span>
<a name="l05301"></a>05301     product4 = (q31_t) (((q63_t) (Iq) * (cosVal)) &gt;&gt; 31);
<a name="l05302"></a>05302 
<a name="l05303"></a>05303     <span class="comment">/* Calculate pIalpha by using the two intermediate products 1 and 2 */</span>
<a name="l05304"></a>05304     *pIalpha = __QSUB(product1, product2);
<a name="l05305"></a>05305 
<a name="l05306"></a>05306     <span class="comment">/* Calculate pIbeta by using the two intermediate products 3 and 4 */</span>
<a name="l05307"></a>05307     *pIbeta = __QADD(product4, product3);
<a name="l05308"></a>05308 
<a name="l05309"></a>05309   }
<a name="l05310"></a>05310 
<a name="l05323"></a>05323   <span class="keywordtype">void</span> arm_q31_to_float(
<a name="l05324"></a>05324              q31_t * pSrc,
<a name="l05325"></a>05325             float32_t * pDst,
<a name="l05326"></a>05326             uint32_t blockSize);
<a name="l05327"></a>05327 
<a name="l05377"></a><a class="code" href="group___linear_interpolate.html#ga2269263d810cafcd19681957b37d5cf6">05377</a>   <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___linear_interpolate.html#ga2269263d810cafcd19681957b37d5cf6" title="Process function for the floating-point Linear Interpolation Function.">arm_linear_interp_f32</a>(
<a name="l05378"></a>05378                           <a class="code" href="structarm__linear__interp__instance__f32.html" title="Instance structure for the floating-point Linear Interpolate function.">arm_linear_interp_instance_f32</a> * S,
<a name="l05379"></a>05379                           float32_t x)
<a name="l05380"></a>05380   {
<a name="l05381"></a>05381 
<a name="l05382"></a>05382       float32_t y;
<a name="l05383"></a>05383       float32_t x0, x1;                     <span class="comment">/* Nearest input values */</span>
<a name="l05384"></a>05384       float32_t y0, y1;                     <span class="comment">/* Nearest output values */</span>
<a name="l05385"></a>05385       float32_t xSpacing = S-&gt;xSpacing;     <span class="comment">/* spacing between input values */</span>
<a name="l05386"></a>05386       int32_t i;                            <span class="comment">/* Index variable */</span>
<a name="l05387"></a>05387       float32_t *pYData = S-&gt;<a class="code" href="structarm__linear__interp__instance__f32.html#af1489866b69eb5db1e0afeb24c7b01e9">pYData</a>;        <span class="comment">/* pointer to output table */</span>
<a name="l05388"></a>05388 
<a name="l05389"></a>05389       <span class="comment">/* Calculation of index */</span>
<a name="l05390"></a>05390       i =   (x - S-&gt;x1) / xSpacing;
<a name="l05391"></a>05391 
<a name="l05392"></a>05392       <span class="keywordflow">if</span>(i &lt; 0)
<a name="l05393"></a>05393       {
<a name="l05394"></a>05394          <span class="comment">/* Iniatilize output for below specified range as least output value of table */</span>
<a name="l05395"></a>05395          y = pYData[0];
<a name="l05396"></a>05396       }
<a name="l05397"></a>05397       <span class="keywordflow">else</span> <span class="keywordflow">if</span>(i &gt;= S-&gt;nValues)
<a name="l05398"></a>05398       {
<a name="l05399"></a>05399           <span class="comment">/* Iniatilize output for above specified range as last output value of table */</span>
<a name="l05400"></a>05400           y = pYData[S-&gt;nValues-1]; 
<a name="l05401"></a>05401       }
<a name="l05402"></a>05402       <span class="keywordflow">else</span>
<a name="l05403"></a>05403       {  
<a name="l05404"></a>05404           <span class="comment">/* Calculation of nearest input values */</span>
<a name="l05405"></a>05405           x0 = S-&gt;x1 + i * xSpacing;
<a name="l05406"></a>05406           x1 = S-&gt;x1 + (i +1) * xSpacing;
<a name="l05407"></a>05407          
<a name="l05408"></a>05408          <span class="comment">/* Read of nearest output values */</span>
<a name="l05409"></a>05409           y0 = pYData[i];
<a name="l05410"></a>05410           y1 = pYData[i + 1];
<a name="l05411"></a>05411         
<a name="l05412"></a>05412           <span class="comment">/* Calculation of output */</span>
<a name="l05413"></a>05413           y = y0 + (x - x0) * ((y1 - y0)/(x1-x0));  
<a name="l05414"></a>05414         
<a name="l05415"></a>05415       }
<a name="l05416"></a>05416 
<a name="l05417"></a>05417       <span class="comment">/* returns output value */</span>
<a name="l05418"></a>05418       <span class="keywordflow">return</span> (y);
<a name="l05419"></a>05419   }
<a name="l05420"></a>05420 
<a name="l05436"></a><a class="code" href="group___linear_interpolate.html#ga690e63e9a513ca0a741b1b174805d031">05436</a>   <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___linear_interpolate.html#ga690e63e9a513ca0a741b1b174805d031" title="Process function for the Q31 Linear Interpolation Function.">arm_linear_interp_q31</a>(q31_t *pYData,
<a name="l05437"></a>05437                           q31_t x, uint32_t nValues)
<a name="l05438"></a>05438   {
<a name="l05439"></a>05439     q31_t y;                                   <span class="comment">/* output */</span>
<a name="l05440"></a>05440     q31_t y0, y1;                                <span class="comment">/* Nearest output values */</span>
<a name="l05441"></a>05441     q31_t fract;                                 <span class="comment">/* fractional part */</span>
<a name="l05442"></a>05442     int32_t index;                              <span class="comment">/* Index to read nearest output values */</span>
<a name="l05443"></a>05443     
<a name="l05444"></a>05444     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l05445"></a>05445     <span class="comment">/* 12 bits for the table index */</span>
<a name="l05446"></a>05446     <span class="comment">/* Index value calculation */</span>
<a name="l05447"></a>05447     index = ((x &amp; 0xFFF00000) &gt;&gt; 20);
<a name="l05448"></a>05448 
<a name="l05449"></a>05449     <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
<a name="l05450"></a>05450     {
<a name="l05451"></a>05451         <span class="keywordflow">return</span>(pYData[nValues - 1]);
<a name="l05452"></a>05452     }
<a name="l05453"></a>05453     <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
<a name="l05454"></a>05454     {
<a name="l05455"></a>05455         <span class="keywordflow">return</span>(pYData[0]);
<a name="l05456"></a>05456     }
<a name="l05457"></a>05457     <span class="keywordflow">else</span>
<a name="l05458"></a>05458     {
<a name="l05459"></a>05459 
<a name="l05460"></a>05460         <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l05461"></a>05461         <span class="comment">/* shift left by 11 to keep fract in 1.31 format */</span>
<a name="l05462"></a>05462         fract = (x &amp; 0x000FFFFF) &lt;&lt; 11;
<a name="l05463"></a>05463     
<a name="l05464"></a>05464         <span class="comment">/* Read two nearest output values from the index in 1.31(q31) format */</span>
<a name="l05465"></a>05465         y0 = pYData[index];
<a name="l05466"></a>05466         y1 = pYData[index + 1u];
<a name="l05467"></a>05467     
<a name="l05468"></a>05468         <span class="comment">/* Calculation of y0 * (1-fract) and y is in 2.30 format */</span>
<a name="l05469"></a>05469         y = ((q31_t) ((q63_t) y0 * (0x7FFFFFFF - fract) &gt;&gt; 32));
<a name="l05470"></a>05470     
<a name="l05471"></a>05471         <span class="comment">/* Calculation of y0 * (1-fract) + y1 *fract and y is in 2.30 format */</span>
<a name="l05472"></a>05472         y += ((q31_t) (((q63_t) y1 * fract) &gt;&gt; 32));
<a name="l05473"></a>05473     
<a name="l05474"></a>05474         <span class="comment">/* Convert y to 1.31 format */</span>
<a name="l05475"></a>05475         <span class="keywordflow">return</span> (y &lt;&lt; 1u);
<a name="l05476"></a>05476 
<a name="l05477"></a>05477     }
<a name="l05478"></a>05478 
<a name="l05479"></a>05479   }
<a name="l05480"></a>05480 
<a name="l05496"></a><a class="code" href="group___linear_interpolate.html#ga42c9206e5d2d22b8808716dc30622846">05496</a>   <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___linear_interpolate.html#ga42c9206e5d2d22b8808716dc30622846" title="Process function for the Q15 Linear Interpolation Function.">arm_linear_interp_q15</a>(q15_t *pYData, q31_t x, uint32_t nValues)
<a name="l05497"></a>05497   {
<a name="l05498"></a>05498     q63_t y;                                   <span class="comment">/* output */</span>
<a name="l05499"></a>05499     q15_t y0, y1;                              <span class="comment">/* Nearest output values */</span>
<a name="l05500"></a>05500     q31_t fract;                               <span class="comment">/* fractional part */</span>
<a name="l05501"></a>05501     int32_t index;                            <span class="comment">/* Index to read nearest output values */</span> 
<a name="l05502"></a>05502 
<a name="l05503"></a>05503     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l05504"></a>05504     <span class="comment">/* 12 bits for the table index */</span>
<a name="l05505"></a>05505     <span class="comment">/* Index value calculation */</span>
<a name="l05506"></a>05506     index = ((x &amp; 0xFFF00000) &gt;&gt; 20u); 
<a name="l05507"></a>05507 
<a name="l05508"></a>05508     <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
<a name="l05509"></a>05509     {
<a name="l05510"></a>05510         <span class="keywordflow">return</span>(pYData[nValues - 1]);
<a name="l05511"></a>05511     }
<a name="l05512"></a>05512     <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
<a name="l05513"></a>05513     {
<a name="l05514"></a>05514         <span class="keywordflow">return</span>(pYData[0]);
<a name="l05515"></a>05515     }
<a name="l05516"></a>05516     <span class="keywordflow">else</span>
<a name="l05517"></a>05517     {   
<a name="l05518"></a>05518         <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l05519"></a>05519         <span class="comment">/* fract is in 12.20 format */</span>
<a name="l05520"></a>05520         fract = (x &amp; 0x000FFFFF);
<a name="l05521"></a>05521     
<a name="l05522"></a>05522         <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l05523"></a>05523         y0 = pYData[index];
<a name="l05524"></a>05524         y1 = pYData[index + 1u];
<a name="l05525"></a>05525     
<a name="l05526"></a>05526         <span class="comment">/* Calculation of y0 * (1-fract) and y is in 13.35 format */</span>
<a name="l05527"></a>05527         y = ((q63_t) y0 * (0xFFFFF - fract));
<a name="l05528"></a>05528     
<a name="l05529"></a>05529         <span class="comment">/* Calculation of (y0 * (1-fract) + y1 * fract) and y is in 13.35 format */</span>
<a name="l05530"></a>05530         y += ((q63_t) y1 * (fract));
<a name="l05531"></a>05531     
<a name="l05532"></a>05532         <span class="comment">/* convert y to 1.15 format */</span>
<a name="l05533"></a>05533         <span class="keywordflow">return</span> (y &gt;&gt; 20);
<a name="l05534"></a>05534     }
<a name="l05535"></a>05535 
<a name="l05536"></a>05536 
<a name="l05537"></a>05537   }
<a name="l05538"></a>05538 
<a name="l05553"></a><a class="code" href="group___linear_interpolate.html#gacb0d44fe00aca0ba1d036d469a1763fc">05553</a>   <span class="keyword">static</span> __INLINE q7_t <a class="code" href="group___linear_interpolate.html#gacb0d44fe00aca0ba1d036d469a1763fc" title="Process function for the Q7 Linear Interpolation Function.">arm_linear_interp_q7</a>(q7_t *pYData, q31_t x,  uint32_t nValues)
<a name="l05554"></a>05554   {
<a name="l05555"></a>05555     q31_t y;                                   <span class="comment">/* output */</span>
<a name="l05556"></a>05556     q7_t y0, y1;                                 <span class="comment">/* Nearest output values */</span>
<a name="l05557"></a>05557     q31_t fract;                                 <span class="comment">/* fractional part */</span>
<a name="l05558"></a>05558     int32_t index;                              <span class="comment">/* Index to read nearest output values */</span>
<a name="l05559"></a>05559     
<a name="l05560"></a>05560     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l05561"></a>05561     <span class="comment">/* 12 bits for the table index */</span>
<a name="l05562"></a>05562     <span class="comment">/* Index value calculation */</span>
<a name="l05563"></a>05563     index = ((x &amp; 0xFFF00000) &gt;&gt; 20u);
<a name="l05564"></a>05564 
<a name="l05565"></a>05565 
<a name="l05566"></a>05566     <span class="keywordflow">if</span>(index &gt;= (nValues - 1))
<a name="l05567"></a>05567     {
<a name="l05568"></a>05568         <span class="keywordflow">return</span>(pYData[nValues - 1]);
<a name="l05569"></a>05569     }
<a name="l05570"></a>05570     <span class="keywordflow">else</span> <span class="keywordflow">if</span>(index &lt; 0)
<a name="l05571"></a>05571     {
<a name="l05572"></a>05572         <span class="keywordflow">return</span>(pYData[0]);
<a name="l05573"></a>05573     }
<a name="l05574"></a>05574     <span class="keywordflow">else</span>
<a name="l05575"></a>05575     {
<a name="l05576"></a>05576 
<a name="l05577"></a>05577         <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l05578"></a>05578         <span class="comment">/* fract is in 12.20 format */</span>
<a name="l05579"></a>05579         fract = (x &amp; 0x000FFFFF);
<a name="l05580"></a>05580     
<a name="l05581"></a>05581         <span class="comment">/* Read two nearest output values from the index and are in 1.7(q7) format */</span>
<a name="l05582"></a>05582         y0 = pYData[index];
<a name="l05583"></a>05583         y1 = pYData[index + 1u];
<a name="l05584"></a>05584     
<a name="l05585"></a>05585         <span class="comment">/* Calculation of y0 * (1-fract ) and y is in 13.27(q27) format */</span>
<a name="l05586"></a>05586         y = ((y0 * (0xFFFFF - fract)));
<a name="l05587"></a>05587     
<a name="l05588"></a>05588         <span class="comment">/* Calculation of y1 * fract + y0 * (1-fract) and y is in 13.27(q27) format */</span>
<a name="l05589"></a>05589         y += (y1 * fract);
<a name="l05590"></a>05590     
<a name="l05591"></a>05591         <span class="comment">/* convert y to 1.7(q7) format */</span>
<a name="l05592"></a>05592         <span class="keywordflow">return</span> (y &gt;&gt; 20u);
<a name="l05593"></a>05593 
<a name="l05594"></a>05594     }
<a name="l05595"></a>05595 
<a name="l05596"></a>05596   }
<a name="l05607"></a>05607   float32_t arm_sin_f32(
<a name="l05608"></a>05608              float32_t x);
<a name="l05609"></a>05609 
<a name="l05616"></a>05616   q31_t arm_sin_q31(
<a name="l05617"></a>05617              q31_t x);
<a name="l05618"></a>05618 
<a name="l05625"></a>05625   q15_t arm_sin_q15(
<a name="l05626"></a>05626              q15_t x);
<a name="l05627"></a>05627 
<a name="l05634"></a>05634   float32_t arm_cos_f32(
<a name="l05635"></a>05635              float32_t x);
<a name="l05636"></a>05636 
<a name="l05643"></a>05643   q31_t arm_cos_q31(
<a name="l05644"></a>05644              q31_t x);
<a name="l05645"></a>05645 
<a name="l05652"></a>05652   q15_t arm_cos_q15(
<a name="l05653"></a>05653              q15_t x);
<a name="l05654"></a>05654 
<a name="l05655"></a>05655 
<a name="l05695"></a><a class="code" href="group___s_q_r_t.html#ga56a40d1cf842b0b45267df6761975da0">05695</a>   <span class="keyword">static</span> __INLINE arm_status  <a class="code" href="group___s_q_r_t.html#ga56a40d1cf842b0b45267df6761975da0" title="Floating-point square root function.">arm_sqrt_f32</a>(
<a name="l05696"></a>05696                       float32_t in, float32_t *pOut)
<a name="l05697"></a>05697   {
<a name="l05698"></a>05698     <span class="keywordflow">if</span>(in &gt; 0)
<a name="l05699"></a>05699     {
<a name="l05700"></a>05700 
<a name="l05701"></a>05701 <span class="comment">//  #if __FPU_USED</span>
<a name="l05702"></a>05702 <span class="preprocessor">    #if (__FPU_USED == 1) &amp;&amp; defined ( __CC_ARM   )</span>
<a name="l05703"></a>05703 <span class="preprocessor"></span>        *pOut = __sqrtf(in);
<a name="l05704"></a>05704 <span class="preprocessor">    #else     </span>
<a name="l05705"></a>05705 <span class="preprocessor"></span>        *pOut = sqrtf(in);
<a name="l05706"></a>05706 <span class="preprocessor">    #endif</span>
<a name="l05707"></a>05707 <span class="preprocessor"></span>
<a name="l05708"></a>05708         <span class="keywordflow">return</span> (ARM_MATH_SUCCESS);
<a name="l05709"></a>05709     }
<a name="l05710"></a>05710     <span class="keywordflow">else</span>
<a name="l05711"></a>05711     {
<a name="l05712"></a>05712         *pOut = 0.0f;
<a name="l05713"></a>05713         <span class="keywordflow">return</span> (ARM_MATH_ARGUMENT_ERROR);
<a name="l05714"></a>05714     }
<a name="l05715"></a>05715 
<a name="l05716"></a>05716   }
<a name="l05717"></a>05717 
<a name="l05718"></a>05718 
<a name="l05726"></a>05726   arm_status <a class="code" href="group___s_q_r_t.html#ga119e25831e141d734d7ef10636670058" title="Q31 square root function.">arm_sqrt_q31</a>(
<a name="l05727"></a>05727               q31_t in, q31_t *pOut);
<a name="l05728"></a>05728 
<a name="l05736"></a>05736   arm_status <a class="code" href="group___s_q_r_t.html#ga5abe5ca724f3e15849662b03752c1238" title="Q15 square root function.">arm_sqrt_q15</a>(
<a name="l05737"></a>05737               q15_t in, q15_t *pOut);
<a name="l05738"></a>05738 
<a name="l05752"></a>05752   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularWrite_f32(
<a name="l05753"></a>05753                          int32_t * circBuffer,
<a name="l05754"></a>05754                          int32_t L,
<a name="l05755"></a>05755                          uint16_t * writeOffset,
<a name="l05756"></a>05756                          int32_t bufferInc,
<a name="l05757"></a>05757                          <span class="keyword">const</span> int32_t * src,
<a name="l05758"></a>05758                          int32_t srcInc,
<a name="l05759"></a>05759                          uint32_t blockSize)
<a name="l05760"></a>05760   {
<a name="l05761"></a>05761     uint32_t i = 0u;
<a name="l05762"></a>05762     int32_t wOffset;
<a name="l05763"></a>05763 
<a name="l05764"></a>05764     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l05765"></a>05765 <span class="comment">     * to the current location where the input samples to be copied */</span>
<a name="l05766"></a>05766     wOffset = *writeOffset;
<a name="l05767"></a>05767 
<a name="l05768"></a>05768     <span class="comment">/* Loop over the blockSize */</span>
<a name="l05769"></a>05769     i = blockSize;
<a name="l05770"></a>05770 
<a name="l05771"></a>05771     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l05772"></a>05772       {
<a name="l05773"></a>05773     <span class="comment">/* copy the input sample to the circular buffer */</span>
<a name="l05774"></a>05774     circBuffer[wOffset] = *src;
<a name="l05775"></a>05775 
<a name="l05776"></a>05776     <span class="comment">/* Update the input pointer */</span>
<a name="l05777"></a>05777     src += srcInc;
<a name="l05778"></a>05778 
<a name="l05779"></a>05779     <span class="comment">/* Circularly update wOffset.  Watch out for positive and negative value */</span>
<a name="l05780"></a>05780     wOffset += bufferInc;
<a name="l05781"></a>05781     <span class="keywordflow">if</span>(wOffset &gt;= L)
<a name="l05782"></a>05782       wOffset -= L;
<a name="l05783"></a>05783 
<a name="l05784"></a>05784     <span class="comment">/* Decrement the loop counter */</span>
<a name="l05785"></a>05785     i--;
<a name="l05786"></a>05786       }
<a name="l05787"></a>05787 
<a name="l05788"></a>05788     <span class="comment">/* Update the index pointer */</span>
<a name="l05789"></a>05789     *writeOffset = wOffset;
<a name="l05790"></a>05790   }
<a name="l05791"></a>05791 
<a name="l05792"></a>05792 
<a name="l05793"></a>05793 
<a name="l05797"></a>05797   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularRead_f32(
<a name="l05798"></a>05798                         int32_t * circBuffer,
<a name="l05799"></a>05799                         int32_t L,
<a name="l05800"></a>05800                         int32_t * readOffset,
<a name="l05801"></a>05801                         int32_t bufferInc,
<a name="l05802"></a>05802                         int32_t * dst,
<a name="l05803"></a>05803                         int32_t * dst_base,
<a name="l05804"></a>05804                         int32_t dst_length,
<a name="l05805"></a>05805                         int32_t dstInc,
<a name="l05806"></a>05806                         uint32_t blockSize)
<a name="l05807"></a>05807   {
<a name="l05808"></a>05808     uint32_t i = 0u;
<a name="l05809"></a>05809     int32_t rOffset, dst_end;
<a name="l05810"></a>05810 
<a name="l05811"></a>05811     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l05812"></a>05812 <span class="comment">     * to the current location from where the input samples to be read */</span>
<a name="l05813"></a>05813     rOffset = *readOffset;
<a name="l05814"></a>05814     dst_end = (int32_t) (dst_base + dst_length);
<a name="l05815"></a>05815 
<a name="l05816"></a>05816     <span class="comment">/* Loop over the blockSize */</span>
<a name="l05817"></a>05817     i = blockSize;
<a name="l05818"></a>05818 
<a name="l05819"></a>05819     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l05820"></a>05820       {
<a name="l05821"></a>05821     <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
<a name="l05822"></a>05822     *dst = circBuffer[rOffset];
<a name="l05823"></a>05823 
<a name="l05824"></a>05824     <span class="comment">/* Update the input pointer */</span>
<a name="l05825"></a>05825     dst += dstInc;
<a name="l05826"></a>05826 
<a name="l05827"></a>05827     <span class="keywordflow">if</span>(dst == (int32_t *) dst_end)
<a name="l05828"></a>05828       {
<a name="l05829"></a>05829         dst = dst_base;
<a name="l05830"></a>05830       }
<a name="l05831"></a>05831 
<a name="l05832"></a>05832     <span class="comment">/* Circularly update rOffset.  Watch out for positive and negative value  */</span>
<a name="l05833"></a>05833     rOffset += bufferInc;
<a name="l05834"></a>05834 
<a name="l05835"></a>05835     <span class="keywordflow">if</span>(rOffset &gt;= L)
<a name="l05836"></a>05836       {
<a name="l05837"></a>05837         rOffset -= L;
<a name="l05838"></a>05838       }
<a name="l05839"></a>05839 
<a name="l05840"></a>05840     <span class="comment">/* Decrement the loop counter */</span>
<a name="l05841"></a>05841     i--;
<a name="l05842"></a>05842       }
<a name="l05843"></a>05843 
<a name="l05844"></a>05844     <span class="comment">/* Update the index pointer */</span>
<a name="l05845"></a>05845     *readOffset = rOffset;
<a name="l05846"></a>05846   }
<a name="l05847"></a>05847 
<a name="l05852"></a>05852   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularWrite_q15(
<a name="l05853"></a>05853                          q15_t * circBuffer,
<a name="l05854"></a>05854                          int32_t L,
<a name="l05855"></a>05855                          uint16_t * writeOffset,
<a name="l05856"></a>05856                          int32_t bufferInc,
<a name="l05857"></a>05857                          <span class="keyword">const</span> q15_t * src,
<a name="l05858"></a>05858                          int32_t srcInc,
<a name="l05859"></a>05859                          uint32_t blockSize)
<a name="l05860"></a>05860   {
<a name="l05861"></a>05861     uint32_t i = 0u;
<a name="l05862"></a>05862     int32_t wOffset;
<a name="l05863"></a>05863 
<a name="l05864"></a>05864     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l05865"></a>05865 <span class="comment">     * to the current location where the input samples to be copied */</span>
<a name="l05866"></a>05866     wOffset = *writeOffset;
<a name="l05867"></a>05867 
<a name="l05868"></a>05868     <span class="comment">/* Loop over the blockSize */</span>
<a name="l05869"></a>05869     i = blockSize;
<a name="l05870"></a>05870 
<a name="l05871"></a>05871     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l05872"></a>05872       {
<a name="l05873"></a>05873     <span class="comment">/* copy the input sample to the circular buffer */</span>
<a name="l05874"></a>05874     circBuffer[wOffset] = *src;
<a name="l05875"></a>05875 
<a name="l05876"></a>05876     <span class="comment">/* Update the input pointer */</span>
<a name="l05877"></a>05877     src += srcInc;
<a name="l05878"></a>05878 
<a name="l05879"></a>05879     <span class="comment">/* Circularly update wOffset.  Watch out for positive and negative value */</span>
<a name="l05880"></a>05880     wOffset += bufferInc;
<a name="l05881"></a>05881     <span class="keywordflow">if</span>(wOffset &gt;= L)
<a name="l05882"></a>05882       wOffset -= L;
<a name="l05883"></a>05883 
<a name="l05884"></a>05884     <span class="comment">/* Decrement the loop counter */</span>
<a name="l05885"></a>05885     i--;
<a name="l05886"></a>05886       }
<a name="l05887"></a>05887 
<a name="l05888"></a>05888     <span class="comment">/* Update the index pointer */</span>
<a name="l05889"></a>05889     *writeOffset = wOffset;
<a name="l05890"></a>05890   }
<a name="l05891"></a>05891 
<a name="l05892"></a>05892 
<a name="l05893"></a>05893 
<a name="l05897"></a>05897   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularRead_q15(
<a name="l05898"></a>05898                         q15_t * circBuffer,
<a name="l05899"></a>05899                         int32_t L,
<a name="l05900"></a>05900                         int32_t * readOffset,
<a name="l05901"></a>05901                         int32_t bufferInc,
<a name="l05902"></a>05902                         q15_t * dst,
<a name="l05903"></a>05903                         q15_t * dst_base,
<a name="l05904"></a>05904                         int32_t dst_length,
<a name="l05905"></a>05905                         int32_t dstInc,
<a name="l05906"></a>05906                         uint32_t blockSize)
<a name="l05907"></a>05907   {
<a name="l05908"></a>05908     uint32_t i = 0;
<a name="l05909"></a>05909     int32_t rOffset, dst_end;
<a name="l05910"></a>05910 
<a name="l05911"></a>05911     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l05912"></a>05912 <span class="comment">     * to the current location from where the input samples to be read */</span>
<a name="l05913"></a>05913     rOffset = *readOffset;
<a name="l05914"></a>05914 
<a name="l05915"></a>05915     dst_end = (int32_t) (dst_base + dst_length);
<a name="l05916"></a>05916 
<a name="l05917"></a>05917     <span class="comment">/* Loop over the blockSize */</span>
<a name="l05918"></a>05918     i = blockSize;
<a name="l05919"></a>05919 
<a name="l05920"></a>05920     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l05921"></a>05921       {
<a name="l05922"></a>05922     <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
<a name="l05923"></a>05923     *dst = circBuffer[rOffset];
<a name="l05924"></a>05924 
<a name="l05925"></a>05925     <span class="comment">/* Update the input pointer */</span>
<a name="l05926"></a>05926     dst += dstInc;
<a name="l05927"></a>05927 
<a name="l05928"></a>05928     <span class="keywordflow">if</span>(dst == (q15_t *) dst_end)
<a name="l05929"></a>05929       {
<a name="l05930"></a>05930         dst = dst_base;
<a name="l05931"></a>05931       }
<a name="l05932"></a>05932 
<a name="l05933"></a>05933     <span class="comment">/* Circularly update wOffset.  Watch out for positive and negative value */</span>
<a name="l05934"></a>05934     rOffset += bufferInc;
<a name="l05935"></a>05935 
<a name="l05936"></a>05936     <span class="keywordflow">if</span>(rOffset &gt;= L)
<a name="l05937"></a>05937       {
<a name="l05938"></a>05938         rOffset -= L;
<a name="l05939"></a>05939       }
<a name="l05940"></a>05940 
<a name="l05941"></a>05941     <span class="comment">/* Decrement the loop counter */</span>
<a name="l05942"></a>05942     i--;
<a name="l05943"></a>05943       }
<a name="l05944"></a>05944 
<a name="l05945"></a>05945     <span class="comment">/* Update the index pointer */</span>
<a name="l05946"></a>05946     *readOffset = rOffset;
<a name="l05947"></a>05947   }
<a name="l05948"></a>05948 
<a name="l05949"></a>05949 
<a name="l05954"></a>05954   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularWrite_q7(
<a name="l05955"></a>05955                         q7_t * circBuffer,
<a name="l05956"></a>05956                         int32_t L,
<a name="l05957"></a>05957                         uint16_t * writeOffset,
<a name="l05958"></a>05958                         int32_t bufferInc,
<a name="l05959"></a>05959                         <span class="keyword">const</span> q7_t * src,
<a name="l05960"></a>05960                         int32_t srcInc,
<a name="l05961"></a>05961                         uint32_t blockSize)
<a name="l05962"></a>05962   {
<a name="l05963"></a>05963     uint32_t i = 0u;
<a name="l05964"></a>05964     int32_t wOffset;
<a name="l05965"></a>05965 
<a name="l05966"></a>05966     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l05967"></a>05967 <span class="comment">     * to the current location where the input samples to be copied */</span>
<a name="l05968"></a>05968     wOffset = *writeOffset;
<a name="l05969"></a>05969 
<a name="l05970"></a>05970     <span class="comment">/* Loop over the blockSize */</span>
<a name="l05971"></a>05971     i = blockSize;
<a name="l05972"></a>05972 
<a name="l05973"></a>05973     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l05974"></a>05974       {
<a name="l05975"></a>05975     <span class="comment">/* copy the input sample to the circular buffer */</span>
<a name="l05976"></a>05976     circBuffer[wOffset] = *src;
<a name="l05977"></a>05977 
<a name="l05978"></a>05978     <span class="comment">/* Update the input pointer */</span>
<a name="l05979"></a>05979     src += srcInc;
<a name="l05980"></a>05980 
<a name="l05981"></a>05981     <span class="comment">/* Circularly update wOffset.  Watch out for positive and negative value */</span>
<a name="l05982"></a>05982     wOffset += bufferInc;
<a name="l05983"></a>05983     <span class="keywordflow">if</span>(wOffset &gt;= L)
<a name="l05984"></a>05984       wOffset -= L;
<a name="l05985"></a>05985 
<a name="l05986"></a>05986     <span class="comment">/* Decrement the loop counter */</span>
<a name="l05987"></a>05987     i--;
<a name="l05988"></a>05988       }
<a name="l05989"></a>05989 
<a name="l05990"></a>05990     <span class="comment">/* Update the index pointer */</span>
<a name="l05991"></a>05991     *writeOffset = wOffset;
<a name="l05992"></a>05992   }
<a name="l05993"></a>05993 
<a name="l05994"></a>05994 
<a name="l05995"></a>05995 
<a name="l05999"></a>05999   <span class="keyword">static</span> __INLINE <span class="keywordtype">void</span> arm_circularRead_q7(
<a name="l06000"></a>06000                        q7_t * circBuffer,
<a name="l06001"></a>06001                        int32_t L,
<a name="l06002"></a>06002                        int32_t * readOffset,
<a name="l06003"></a>06003                        int32_t bufferInc,
<a name="l06004"></a>06004                        q7_t * dst,
<a name="l06005"></a>06005                        q7_t * dst_base,
<a name="l06006"></a>06006                        int32_t dst_length,
<a name="l06007"></a>06007                        int32_t dstInc,
<a name="l06008"></a>06008                        uint32_t blockSize)
<a name="l06009"></a>06009   {
<a name="l06010"></a>06010     uint32_t i = 0;
<a name="l06011"></a>06011     int32_t rOffset, dst_end;
<a name="l06012"></a>06012 
<a name="l06013"></a>06013     <span class="comment">/* Copy the value of Index pointer that points</span>
<a name="l06014"></a>06014 <span class="comment">     * to the current location from where the input samples to be read */</span>
<a name="l06015"></a>06015     rOffset = *readOffset;
<a name="l06016"></a>06016 
<a name="l06017"></a>06017     dst_end = (int32_t) (dst_base + dst_length);
<a name="l06018"></a>06018 
<a name="l06019"></a>06019     <span class="comment">/* Loop over the blockSize */</span>
<a name="l06020"></a>06020     i = blockSize;
<a name="l06021"></a>06021 
<a name="l06022"></a>06022     <span class="keywordflow">while</span>(i &gt; 0u)
<a name="l06023"></a>06023       {
<a name="l06024"></a>06024     <span class="comment">/* copy the sample from the circular buffer to the destination buffer */</span>
<a name="l06025"></a>06025     *dst = circBuffer[rOffset];
<a name="l06026"></a>06026 
<a name="l06027"></a>06027     <span class="comment">/* Update the input pointer */</span>
<a name="l06028"></a>06028     dst += dstInc;
<a name="l06029"></a>06029 
<a name="l06030"></a>06030     <span class="keywordflow">if</span>(dst == (q7_t *) dst_end)
<a name="l06031"></a>06031       {
<a name="l06032"></a>06032         dst = dst_base;
<a name="l06033"></a>06033       }
<a name="l06034"></a>06034 
<a name="l06035"></a>06035     <span class="comment">/* Circularly update rOffset.  Watch out for positive and negative value */</span>
<a name="l06036"></a>06036     rOffset += bufferInc;
<a name="l06037"></a>06037 
<a name="l06038"></a>06038     <span class="keywordflow">if</span>(rOffset &gt;= L)
<a name="l06039"></a>06039       {
<a name="l06040"></a>06040         rOffset -= L;
<a name="l06041"></a>06041       }
<a name="l06042"></a>06042 
<a name="l06043"></a>06043     <span class="comment">/* Decrement the loop counter */</span>
<a name="l06044"></a>06044     i--;
<a name="l06045"></a>06045       }
<a name="l06046"></a>06046 
<a name="l06047"></a>06047     <span class="comment">/* Update the index pointer */</span>
<a name="l06048"></a>06048     *readOffset = rOffset;
<a name="l06049"></a>06049   }
<a name="l06050"></a>06050 
<a name="l06051"></a>06051 
<a name="l06060"></a>06060   <span class="keywordtype">void</span> arm_power_q31(
<a name="l06061"></a>06061               q31_t * pSrc,
<a name="l06062"></a>06062              uint32_t blockSize,
<a name="l06063"></a>06063              q63_t * pResult);
<a name="l06064"></a>06064 
<a name="l06073"></a>06073   <span class="keywordtype">void</span> arm_power_f32(
<a name="l06074"></a>06074               float32_t * pSrc,
<a name="l06075"></a>06075              uint32_t blockSize,
<a name="l06076"></a>06076              float32_t * pResult);
<a name="l06077"></a>06077 
<a name="l06086"></a>06086   <span class="keywordtype">void</span> arm_power_q15(
<a name="l06087"></a>06087               q15_t * pSrc,
<a name="l06088"></a>06088              uint32_t blockSize,
<a name="l06089"></a>06089              q63_t * pResult);
<a name="l06090"></a>06090 
<a name="l06099"></a>06099   <span class="keywordtype">void</span> arm_power_q7(
<a name="l06100"></a>06100              q7_t * pSrc,
<a name="l06101"></a>06101             uint32_t blockSize,
<a name="l06102"></a>06102             q31_t * pResult);
<a name="l06103"></a>06103 
<a name="l06112"></a>06112   <span class="keywordtype">void</span> arm_mean_q7(
<a name="l06113"></a>06113             q7_t * pSrc,
<a name="l06114"></a>06114            uint32_t blockSize,
<a name="l06115"></a>06115            q7_t * pResult);
<a name="l06116"></a>06116 
<a name="l06124"></a>06124   <span class="keywordtype">void</span> arm_mean_q15(
<a name="l06125"></a>06125              q15_t * pSrc,
<a name="l06126"></a>06126             uint32_t blockSize,
<a name="l06127"></a>06127             q15_t * pResult);
<a name="l06128"></a>06128 
<a name="l06136"></a>06136   <span class="keywordtype">void</span> arm_mean_q31(
<a name="l06137"></a>06137              q31_t * pSrc,
<a name="l06138"></a>06138             uint32_t blockSize,
<a name="l06139"></a>06139             q31_t * pResult);
<a name="l06140"></a>06140 
<a name="l06148"></a>06148   <span class="keywordtype">void</span> arm_mean_f32(
<a name="l06149"></a>06149              float32_t * pSrc,
<a name="l06150"></a>06150             uint32_t blockSize,
<a name="l06151"></a>06151             float32_t * pResult);
<a name="l06152"></a>06152 
<a name="l06161"></a>06161   <span class="keywordtype">void</span> arm_var_f32(
<a name="l06162"></a>06162             float32_t * pSrc,
<a name="l06163"></a>06163            uint32_t blockSize,
<a name="l06164"></a>06164            float32_t * pResult);
<a name="l06165"></a>06165 
<a name="l06174"></a>06174   <span class="keywordtype">void</span> arm_var_q31(
<a name="l06175"></a>06175             q31_t * pSrc,
<a name="l06176"></a>06176            uint32_t blockSize,
<a name="l06177"></a>06177            q63_t * pResult);
<a name="l06178"></a>06178 
<a name="l06187"></a>06187   <span class="keywordtype">void</span> arm_var_q15(
<a name="l06188"></a>06188             q15_t * pSrc,
<a name="l06189"></a>06189            uint32_t blockSize,
<a name="l06190"></a>06190            q31_t * pResult);
<a name="l06191"></a>06191 
<a name="l06200"></a>06200   <span class="keywordtype">void</span> arm_rms_f32(
<a name="l06201"></a>06201             float32_t * pSrc,
<a name="l06202"></a>06202            uint32_t blockSize,
<a name="l06203"></a>06203            float32_t * pResult);
<a name="l06204"></a>06204 
<a name="l06213"></a>06213   <span class="keywordtype">void</span> arm_rms_q31(
<a name="l06214"></a>06214             q31_t * pSrc,
<a name="l06215"></a>06215            uint32_t blockSize,
<a name="l06216"></a>06216            q31_t * pResult);
<a name="l06217"></a>06217 
<a name="l06226"></a>06226   <span class="keywordtype">void</span> arm_rms_q15(
<a name="l06227"></a>06227             q15_t * pSrc,
<a name="l06228"></a>06228            uint32_t blockSize,
<a name="l06229"></a>06229            q15_t * pResult);
<a name="l06230"></a>06230 
<a name="l06239"></a>06239   <span class="keywordtype">void</span> arm_std_f32(
<a name="l06240"></a>06240             float32_t * pSrc,
<a name="l06241"></a>06241            uint32_t blockSize,
<a name="l06242"></a>06242            float32_t * pResult);
<a name="l06243"></a>06243 
<a name="l06252"></a>06252   <span class="keywordtype">void</span> arm_std_q31(
<a name="l06253"></a>06253             q31_t * pSrc,
<a name="l06254"></a>06254            uint32_t blockSize,
<a name="l06255"></a>06255            q31_t * pResult);
<a name="l06256"></a>06256 
<a name="l06265"></a>06265   <span class="keywordtype">void</span> arm_std_q15(
<a name="l06266"></a>06266             q15_t * pSrc,
<a name="l06267"></a>06267            uint32_t blockSize,
<a name="l06268"></a>06268            q15_t * pResult);
<a name="l06269"></a>06269 
<a name="l06278"></a>06278   <span class="keywordtype">void</span> arm_cmplx_mag_f32(
<a name="l06279"></a>06279               float32_t * pSrc,
<a name="l06280"></a>06280              float32_t * pDst,
<a name="l06281"></a>06281              uint32_t numSamples);
<a name="l06282"></a>06282 
<a name="l06291"></a>06291   <span class="keywordtype">void</span> arm_cmplx_mag_q31(
<a name="l06292"></a>06292               q31_t * pSrc,
<a name="l06293"></a>06293              q31_t * pDst,
<a name="l06294"></a>06294              uint32_t numSamples);
<a name="l06295"></a>06295 
<a name="l06304"></a>06304   <span class="keywordtype">void</span> arm_cmplx_mag_q15(
<a name="l06305"></a>06305               q15_t * pSrc,
<a name="l06306"></a>06306              q15_t * pDst,
<a name="l06307"></a>06307              uint32_t numSamples);
<a name="l06308"></a>06308 
<a name="l06319"></a>06319   <span class="keywordtype">void</span> arm_cmplx_dot_prod_q15(
<a name="l06320"></a>06320                    q15_t * pSrcA,
<a name="l06321"></a>06321                    q15_t * pSrcB,
<a name="l06322"></a>06322                   uint32_t numSamples,
<a name="l06323"></a>06323                   q31_t * realResult,
<a name="l06324"></a>06324                   q31_t * imagResult);
<a name="l06325"></a>06325 
<a name="l06336"></a>06336   <span class="keywordtype">void</span> arm_cmplx_dot_prod_q31(
<a name="l06337"></a>06337                    q31_t * pSrcA,
<a name="l06338"></a>06338                    q31_t * pSrcB,
<a name="l06339"></a>06339                   uint32_t numSamples,
<a name="l06340"></a>06340                   q63_t * realResult,
<a name="l06341"></a>06341                   q63_t * imagResult);
<a name="l06342"></a>06342 
<a name="l06353"></a>06353   <span class="keywordtype">void</span> arm_cmplx_dot_prod_f32(
<a name="l06354"></a>06354                    float32_t * pSrcA,
<a name="l06355"></a>06355                    float32_t * pSrcB,
<a name="l06356"></a>06356                   uint32_t numSamples,
<a name="l06357"></a>06357                   float32_t * realResult,
<a name="l06358"></a>06358                   float32_t * imagResult);
<a name="l06359"></a>06359 
<a name="l06369"></a>06369   <span class="keywordtype">void</span> arm_cmplx_mult_real_q15(
<a name="l06370"></a>06370                     q15_t * pSrcCmplx,
<a name="l06371"></a>06371                     q15_t * pSrcReal,
<a name="l06372"></a>06372                    q15_t * pCmplxDst,
<a name="l06373"></a>06373                    uint32_t numSamples);
<a name="l06374"></a>06374 
<a name="l06384"></a>06384   <span class="keywordtype">void</span> arm_cmplx_mult_real_q31(
<a name="l06385"></a>06385                     q31_t * pSrcCmplx,
<a name="l06386"></a>06386                     q31_t * pSrcReal,
<a name="l06387"></a>06387                    q31_t * pCmplxDst,
<a name="l06388"></a>06388                    uint32_t numSamples);
<a name="l06389"></a>06389 
<a name="l06399"></a>06399   <span class="keywordtype">void</span> arm_cmplx_mult_real_f32(
<a name="l06400"></a>06400                     float32_t * pSrcCmplx,
<a name="l06401"></a>06401                     float32_t * pSrcReal,
<a name="l06402"></a>06402                    float32_t * pCmplxDst,
<a name="l06403"></a>06403                    uint32_t numSamples);
<a name="l06404"></a>06404 
<a name="l06414"></a>06414   <span class="keywordtype">void</span> arm_min_q7(
<a name="l06415"></a>06415            q7_t * pSrc,
<a name="l06416"></a>06416           uint32_t blockSize,
<a name="l06417"></a>06417           q7_t * result,
<a name="l06418"></a>06418           uint32_t * index);
<a name="l06419"></a>06419 
<a name="l06429"></a>06429   <span class="keywordtype">void</span> arm_min_q15(
<a name="l06430"></a>06430             q15_t * pSrc,
<a name="l06431"></a>06431            uint32_t blockSize,
<a name="l06432"></a>06432            q15_t * pResult,
<a name="l06433"></a>06433            uint32_t * pIndex);
<a name="l06434"></a>06434 
<a name="l06443"></a>06443   <span class="keywordtype">void</span> arm_min_q31(
<a name="l06444"></a>06444             q31_t * pSrc,
<a name="l06445"></a>06445            uint32_t blockSize,
<a name="l06446"></a>06446            q31_t * pResult,
<a name="l06447"></a>06447            uint32_t * pIndex);
<a name="l06448"></a>06448 
<a name="l06458"></a>06458   <span class="keywordtype">void</span> arm_min_f32(
<a name="l06459"></a>06459             float32_t * pSrc,
<a name="l06460"></a>06460            uint32_t blockSize,
<a name="l06461"></a>06461            float32_t * pResult,
<a name="l06462"></a>06462            uint32_t * pIndex);
<a name="l06463"></a>06463 
<a name="l06473"></a>06473   <span class="keywordtype">void</span> arm_max_q7(
<a name="l06474"></a>06474            q7_t * pSrc,
<a name="l06475"></a>06475           uint32_t blockSize,
<a name="l06476"></a>06476           q7_t * pResult,
<a name="l06477"></a>06477           uint32_t * pIndex);
<a name="l06478"></a>06478 
<a name="l06488"></a>06488   <span class="keywordtype">void</span> arm_max_q15(
<a name="l06489"></a>06489             q15_t * pSrc,
<a name="l06490"></a>06490            uint32_t blockSize,
<a name="l06491"></a>06491            q15_t * pResult,
<a name="l06492"></a>06492            uint32_t * pIndex);
<a name="l06493"></a>06493 
<a name="l06503"></a>06503   <span class="keywordtype">void</span> arm_max_q31(
<a name="l06504"></a>06504             q31_t * pSrc,
<a name="l06505"></a>06505            uint32_t blockSize,
<a name="l06506"></a>06506            q31_t * pResult,
<a name="l06507"></a>06507            uint32_t * pIndex);
<a name="l06508"></a>06508 
<a name="l06518"></a>06518   <span class="keywordtype">void</span> arm_max_f32(
<a name="l06519"></a>06519             float32_t * pSrc,
<a name="l06520"></a>06520            uint32_t blockSize,
<a name="l06521"></a>06521            float32_t * pResult,
<a name="l06522"></a>06522            uint32_t * pIndex);
<a name="l06523"></a>06523 
<a name="l06533"></a>06533   <span class="keywordtype">void</span> arm_cmplx_mult_cmplx_q15(
<a name="l06534"></a>06534                     q15_t * pSrcA,
<a name="l06535"></a>06535                     q15_t * pSrcB,
<a name="l06536"></a>06536                    q15_t * pDst,
<a name="l06537"></a>06537                    uint32_t numSamples);
<a name="l06538"></a>06538 
<a name="l06548"></a>06548   <span class="keywordtype">void</span> arm_cmplx_mult_cmplx_q31(
<a name="l06549"></a>06549                     q31_t * pSrcA,
<a name="l06550"></a>06550                     q31_t * pSrcB,
<a name="l06551"></a>06551                    q31_t * pDst,
<a name="l06552"></a>06552                    uint32_t numSamples);
<a name="l06553"></a>06553 
<a name="l06563"></a>06563   <span class="keywordtype">void</span> arm_cmplx_mult_cmplx_f32(
<a name="l06564"></a>06564                     float32_t * pSrcA,
<a name="l06565"></a>06565                     float32_t * pSrcB,
<a name="l06566"></a>06566                    float32_t * pDst,
<a name="l06567"></a>06567                    uint32_t numSamples);
<a name="l06568"></a>06568 
<a name="l06576"></a>06576   <span class="keywordtype">void</span> arm_float_to_q31(
<a name="l06577"></a>06577                    float32_t * pSrc,
<a name="l06578"></a>06578                   q31_t * pDst,
<a name="l06579"></a>06579                   uint32_t blockSize);
<a name="l06580"></a>06580 
<a name="l06588"></a>06588   <span class="keywordtype">void</span> arm_float_to_q15(
<a name="l06589"></a>06589                    float32_t * pSrc,
<a name="l06590"></a>06590                   q15_t * pDst,
<a name="l06591"></a>06591                   uint32_t blockSize);
<a name="l06592"></a>06592 
<a name="l06600"></a>06600   <span class="keywordtype">void</span> arm_float_to_q7(
<a name="l06601"></a>06601                   float32_t * pSrc,
<a name="l06602"></a>06602                  q7_t * pDst,
<a name="l06603"></a>06603                  uint32_t blockSize);
<a name="l06604"></a>06604 
<a name="l06605"></a>06605 
<a name="l06613"></a>06613   <span class="keywordtype">void</span> arm_q31_to_q15(
<a name="l06614"></a>06614                q31_t * pSrc,
<a name="l06615"></a>06615               q15_t * pDst,
<a name="l06616"></a>06616               uint32_t blockSize);
<a name="l06617"></a>06617 
<a name="l06625"></a>06625   <span class="keywordtype">void</span> arm_q31_to_q7(
<a name="l06626"></a>06626               q31_t * pSrc,
<a name="l06627"></a>06627              q7_t * pDst,
<a name="l06628"></a>06628              uint32_t blockSize);
<a name="l06629"></a>06629 
<a name="l06637"></a>06637   <span class="keywordtype">void</span> arm_q15_to_float(
<a name="l06638"></a>06638              q15_t * pSrc,
<a name="l06639"></a>06639             float32_t * pDst,
<a name="l06640"></a>06640             uint32_t blockSize);
<a name="l06641"></a>06641 
<a name="l06642"></a>06642 
<a name="l06650"></a>06650   <span class="keywordtype">void</span> arm_q15_to_q31(
<a name="l06651"></a>06651                q15_t * pSrc,
<a name="l06652"></a>06652               q31_t * pDst,
<a name="l06653"></a>06653               uint32_t blockSize);
<a name="l06654"></a>06654 
<a name="l06655"></a>06655 
<a name="l06663"></a>06663   <span class="keywordtype">void</span> arm_q15_to_q7(
<a name="l06664"></a>06664               q15_t * pSrc,
<a name="l06665"></a>06665              q7_t * pDst,
<a name="l06666"></a>06666              uint32_t blockSize);
<a name="l06667"></a>06667 
<a name="l06668"></a>06668 
<a name="l06740"></a><a class="code" href="group___bilinear_interpolate.html#gab49a4c0f64854903d996d01ba38f711a">06740</a>   <span class="keyword">static</span> __INLINE float32_t <a class="code" href="group___bilinear_interpolate.html#gab49a4c0f64854903d996d01ba38f711a" title="Floating-point bilinear interpolation.">arm_bilinear_interp_f32</a>(
<a name="l06741"></a>06741                             <span class="keyword">const</span> <a class="code" href="structarm__bilinear__interp__instance__f32.html" title="Instance structure for the floating-point bilinear interpolation function.">arm_bilinear_interp_instance_f32</a> * S,
<a name="l06742"></a>06742                             float32_t X,
<a name="l06743"></a>06743                             float32_t Y)
<a name="l06744"></a>06744   {
<a name="l06745"></a>06745     float32_t out;
<a name="l06746"></a>06746     float32_t f00, f01, f10, f11;
<a name="l06747"></a>06747     float32_t *pData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#af5c3a2f15c98850cdcfbe6f87e5ac5df">pData</a>;
<a name="l06748"></a>06748     int32_t xIndex, yIndex, index;
<a name="l06749"></a>06749     float32_t xdiff, ydiff;
<a name="l06750"></a>06750     float32_t b1, b2, b3, b4;
<a name="l06751"></a>06751 
<a name="l06752"></a>06752     xIndex = (int32_t) X;
<a name="l06753"></a>06753     yIndex = (int32_t) Y;
<a name="l06754"></a>06754 
<a name="l06755"></a>06755     <span class="comment">/* Care taken for table outside boundary */</span>
<a name="l06756"></a>06756     <span class="comment">/* Returns zero output when values are outside table boundary */</span>
<a name="l06757"></a>06757     <span class="keywordflow">if</span>(xIndex &lt; 0 || xIndex &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>-1) || yIndex &lt; 0  || yIndex &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>-1))
<a name="l06758"></a>06758     {
<a name="l06759"></a>06759         <span class="keywordflow">return</span>(0);
<a name="l06760"></a>06760     }
<a name="l06761"></a>06761     
<a name="l06762"></a>06762     <span class="comment">/* Calculation of index for two nearest points in X-direction */</span>
<a name="l06763"></a>06763     index = (xIndex - 1) + (yIndex-1) *  S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a> ;
<a name="l06764"></a>06764 
<a name="l06765"></a>06765 
<a name="l06766"></a>06766     <span class="comment">/* Read two nearest points in X-direction */</span>
<a name="l06767"></a>06767     f00 = pData[index];
<a name="l06768"></a>06768     f01 = pData[index + 1];
<a name="l06769"></a>06769 
<a name="l06770"></a>06770     <span class="comment">/* Calculation of index for two nearest points in Y-direction */</span>
<a name="l06771"></a>06771     index = (xIndex-1) + (yIndex) * S-&gt;<a class="code" href="structarm__bilinear__interp__instance__f32.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;
<a name="l06772"></a>06772 
<a name="l06773"></a>06773 
<a name="l06774"></a>06774     <span class="comment">/* Read two nearest points in Y-direction */</span>
<a name="l06775"></a>06775     f10 = pData[index];
<a name="l06776"></a>06776     f11 = pData[index + 1];
<a name="l06777"></a>06777 
<a name="l06778"></a>06778     <span class="comment">/* Calculation of intermediate values */</span>
<a name="l06779"></a>06779     b1 = f00;
<a name="l06780"></a>06780     b2 = f01 - f00;
<a name="l06781"></a>06781     b3 = f10 - f00;
<a name="l06782"></a>06782     b4 = f00 - f01 - f10 + f11;
<a name="l06783"></a>06783 
<a name="l06784"></a>06784     <span class="comment">/* Calculation of fractional part in X */</span>
<a name="l06785"></a>06785     xdiff = X - xIndex;
<a name="l06786"></a>06786 
<a name="l06787"></a>06787     <span class="comment">/* Calculation of fractional part in Y */</span>
<a name="l06788"></a>06788     ydiff = Y - yIndex;
<a name="l06789"></a>06789 
<a name="l06790"></a>06790     <span class="comment">/* Calculation of bi-linear interpolated output */</span>
<a name="l06791"></a>06791      out = b1 + b2 * xdiff + b3 * ydiff + b4 * xdiff * ydiff;
<a name="l06792"></a>06792 
<a name="l06793"></a>06793    <span class="comment">/* return to application */</span>
<a name="l06794"></a>06794     <span class="keywordflow">return</span> (out);
<a name="l06795"></a>06795 
<a name="l06796"></a>06796   }
<a name="l06797"></a>06797 
<a name="l06807"></a><a class="code" href="group___bilinear_interpolate.html#ga202a033c8a2ad3678b136f93153b6d13">06807</a>   <span class="keyword">static</span> __INLINE q31_t <a class="code" href="group___bilinear_interpolate.html#ga202a033c8a2ad3678b136f93153b6d13" title="Q31 bilinear interpolation.">arm_bilinear_interp_q31</a>(
<a name="l06808"></a>06808                         <a class="code" href="structarm__bilinear__interp__instance__q31.html" title="Instance structure for the Q31 bilinear interpolation function.">arm_bilinear_interp_instance_q31</a> * S,
<a name="l06809"></a>06809                         q31_t X,
<a name="l06810"></a>06810                         q31_t Y)
<a name="l06811"></a>06811   {
<a name="l06812"></a>06812     q31_t out;                                   <span class="comment">/* Temporary output */</span>
<a name="l06813"></a>06813     q31_t acc = 0;                               <span class="comment">/* output */</span>
<a name="l06814"></a>06814     q31_t xfract, yfract;                        <span class="comment">/* X, Y fractional parts */</span>
<a name="l06815"></a>06815     q31_t x1, x2, y1, y2;                        <span class="comment">/* Nearest output values */</span>
<a name="l06816"></a>06816     int32_t rI, cI;                             <span class="comment">/* Row and column indices */</span>
<a name="l06817"></a>06817     q31_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#ad296f76577326ff280726323536eed6d">pData</a>;                    <span class="comment">/* pointer to output table values */</span>
<a name="l06818"></a>06818     uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;                 <span class="comment">/* num of rows */</span>
<a name="l06819"></a>06819 
<a name="l06820"></a>06820 
<a name="l06821"></a>06821     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06822"></a>06822     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06823"></a>06823     <span class="comment">/* Index value calculation */</span>
<a name="l06824"></a>06824     rI = ((X &amp; 0xFFF00000) &gt;&gt; 20u);
<a name="l06825"></a>06825 
<a name="l06826"></a>06826     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06827"></a>06827     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06828"></a>06828     <span class="comment">/* Index value calculation */</span>
<a name="l06829"></a>06829     cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20u);
<a name="l06830"></a>06830 
<a name="l06831"></a>06831     <span class="comment">/* Care taken for table outside boundary */</span>
<a name="l06832"></a>06832     <span class="comment">/* Returns zero output when values are outside table boundary */</span>
<a name="l06833"></a>06833     <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>-1) || cI &lt; 0  || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q31.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>-1))
<a name="l06834"></a>06834     {
<a name="l06835"></a>06835         <span class="keywordflow">return</span>(0);
<a name="l06836"></a>06836     }
<a name="l06837"></a>06837 
<a name="l06838"></a>06838     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l06839"></a>06839     <span class="comment">/* shift left xfract by 11 to keep 1.31 format */</span>
<a name="l06840"></a>06840     xfract = (X &amp; 0x000FFFFF) &lt;&lt; 11u;
<a name="l06841"></a>06841 
<a name="l06842"></a>06842     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l06843"></a>06843     x1 = pYData[(rI) + nCols * (cI)];
<a name="l06844"></a>06844     x2 = pYData[(rI) + nCols * (cI) + 1u];
<a name="l06845"></a>06845 
<a name="l06846"></a>06846     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l06847"></a>06847     <span class="comment">/* shift left yfract by 11 to keep 1.31 format */</span>
<a name="l06848"></a>06848     yfract = (Y &amp; 0x000FFFFF) &lt;&lt; 11u;
<a name="l06849"></a>06849 
<a name="l06850"></a>06850     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l06851"></a>06851     y1 = pYData[(rI) + nCols * (cI + 1)];
<a name="l06852"></a>06852     y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
<a name="l06853"></a>06853 
<a name="l06854"></a>06854     <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 3.29(q29) format */</span>
<a name="l06855"></a>06855     out = ((q31_t) (((q63_t) x1 * (0x7FFFFFFF - xfract)) &gt;&gt; 32));
<a name="l06856"></a>06856     acc = ((q31_t) (((q63_t) out * (0x7FFFFFFF - yfract)) &gt;&gt; 32));
<a name="l06857"></a>06857 
<a name="l06858"></a>06858     <span class="comment">/* x2 * (xfract) * (1-yfract)  in 3.29(q29) and adding to acc */</span>
<a name="l06859"></a>06859     out = ((q31_t) ((q63_t) x2 * (0x7FFFFFFF - yfract) &gt;&gt; 32));
<a name="l06860"></a>06860     acc += ((q31_t) ((q63_t) out * (xfract) &gt;&gt; 32));
<a name="l06861"></a>06861 
<a name="l06862"></a>06862     <span class="comment">/* y1 * (1 - xfract) * (yfract)  in 3.29(q29) and adding to acc */</span>
<a name="l06863"></a>06863     out = ((q31_t) ((q63_t) y1 * (0x7FFFFFFF - xfract) &gt;&gt; 32));
<a name="l06864"></a>06864     acc += ((q31_t) ((q63_t) out * (yfract) &gt;&gt; 32));
<a name="l06865"></a>06865 
<a name="l06866"></a>06866     <span class="comment">/* y2 * (xfract) * (yfract)  in 3.29(q29) and adding to acc */</span>
<a name="l06867"></a>06867     out = ((q31_t) ((q63_t) y2 * (xfract) &gt;&gt; 32));
<a name="l06868"></a>06868     acc += ((q31_t) ((q63_t) out * (yfract) &gt;&gt; 32));
<a name="l06869"></a>06869 
<a name="l06870"></a>06870     <span class="comment">/* Convert acc to 1.31(q31) format */</span>
<a name="l06871"></a>06871     <span class="keywordflow">return</span> (acc &lt;&lt; 2u);
<a name="l06872"></a>06872 
<a name="l06873"></a>06873   }
<a name="l06874"></a>06874 
<a name="l06883"></a><a class="code" href="group___bilinear_interpolate.html#gaa8dffbc2a01bb7accf231384498ec85e">06883</a>   <span class="keyword">static</span> __INLINE q15_t <a class="code" href="group___bilinear_interpolate.html#gaa8dffbc2a01bb7accf231384498ec85e" title="Q15 bilinear interpolation.">arm_bilinear_interp_q15</a>(
<a name="l06884"></a>06884                         <a class="code" href="structarm__bilinear__interp__instance__q15.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q15</a> * S,
<a name="l06885"></a>06885                         q31_t X,
<a name="l06886"></a>06886                         q31_t Y)
<a name="l06887"></a>06887   {
<a name="l06888"></a>06888     q63_t acc = 0;                               <span class="comment">/* output */</span>
<a name="l06889"></a>06889     q31_t out;                                   <span class="comment">/* Temporary output */</span>
<a name="l06890"></a>06890     q15_t x1, x2, y1, y2;                        <span class="comment">/* Nearest output values */</span>
<a name="l06891"></a>06891     q31_t xfract, yfract;                        <span class="comment">/* X, Y fractional parts */</span>
<a name="l06892"></a>06892     int32_t rI, cI;                             <span class="comment">/* Row and column indices */</span>
<a name="l06893"></a>06893     q15_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a817ede38365e63e561a12069c6c5c087">pData</a>;                    <span class="comment">/* pointer to output table values */</span>
<a name="l06894"></a>06894     uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;                 <span class="comment">/* num of rows */</span>
<a name="l06895"></a>06895 
<a name="l06896"></a>06896     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06897"></a>06897     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06898"></a>06898     <span class="comment">/* Index value calculation */</span>
<a name="l06899"></a>06899     rI = ((X &amp; 0xFFF00000) &gt;&gt; 20);
<a name="l06900"></a>06900 
<a name="l06901"></a>06901     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06902"></a>06902     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06903"></a>06903     <span class="comment">/* Index value calculation */</span>
<a name="l06904"></a>06904     cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20);
<a name="l06905"></a>06905 
<a name="l06906"></a>06906     <span class="comment">/* Care taken for table outside boundary */</span>
<a name="l06907"></a>06907     <span class="comment">/* Returns zero output when values are outside table boundary */</span>
<a name="l06908"></a>06908     <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>-1) || cI &lt; 0  || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q15.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>-1))
<a name="l06909"></a>06909     {
<a name="l06910"></a>06910         <span class="keywordflow">return</span>(0);
<a name="l06911"></a>06911     }
<a name="l06912"></a>06912 
<a name="l06913"></a>06913     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l06914"></a>06914     <span class="comment">/* xfract should be in 12.20 format */</span>
<a name="l06915"></a>06915     xfract = (X &amp; 0x000FFFFF);
<a name="l06916"></a>06916 
<a name="l06917"></a>06917     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l06918"></a>06918     x1 = pYData[(rI) + nCols * (cI)];
<a name="l06919"></a>06919     x2 = pYData[(rI) + nCols * (cI) + 1u];
<a name="l06920"></a>06920 
<a name="l06921"></a>06921 
<a name="l06922"></a>06922     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l06923"></a>06923     <span class="comment">/* yfract should be in 12.20 format */</span>
<a name="l06924"></a>06924     yfract = (Y &amp; 0x000FFFFF);
<a name="l06925"></a>06925 
<a name="l06926"></a>06926     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l06927"></a>06927     y1 = pYData[(rI) + nCols * (cI + 1)];
<a name="l06928"></a>06928     y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
<a name="l06929"></a>06929 
<a name="l06930"></a>06930     <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 13.51 format */</span>
<a name="l06931"></a>06931 
<a name="l06932"></a>06932     <span class="comment">/* x1 is in 1.15(q15), xfract in 12.20 format and out is in 13.35 format */</span>
<a name="l06933"></a>06933     <span class="comment">/* convert 13.35 to 13.31 by right shifting  and out is in 1.31 */</span>
<a name="l06934"></a>06934     out = (q31_t) (((q63_t) x1 * (0xFFFFF - xfract)) &gt;&gt; 4u);
<a name="l06935"></a>06935     acc = ((q63_t) out * (0xFFFFF - yfract));
<a name="l06936"></a>06936 
<a name="l06937"></a>06937     <span class="comment">/* x2 * (xfract) * (1-yfract)  in 1.51 and adding to acc */</span>
<a name="l06938"></a>06938     out = (q31_t) (((q63_t) x2 * (0xFFFFF - yfract)) &gt;&gt; 4u);
<a name="l06939"></a>06939     acc += ((q63_t) out * (xfract));
<a name="l06940"></a>06940 
<a name="l06941"></a>06941     <span class="comment">/* y1 * (1 - xfract) * (yfract)  in 1.51 and adding to acc */</span>
<a name="l06942"></a>06942     out = (q31_t) (((q63_t) y1 * (0xFFFFF - xfract)) &gt;&gt; 4u);
<a name="l06943"></a>06943     acc += ((q63_t) out * (yfract));
<a name="l06944"></a>06944 
<a name="l06945"></a>06945     <span class="comment">/* y2 * (xfract) * (yfract)  in 1.51 and adding to acc */</span>
<a name="l06946"></a>06946     out = (q31_t) (((q63_t) y2 * (xfract)) &gt;&gt; 4u);
<a name="l06947"></a>06947     acc += ((q63_t) out * (yfract));
<a name="l06948"></a>06948 
<a name="l06949"></a>06949     <span class="comment">/* acc is in 13.51 format and down shift acc by 36 times */</span>
<a name="l06950"></a>06950     <span class="comment">/* Convert out to 1.15 format */</span>
<a name="l06951"></a>06951     <span class="keywordflow">return</span> (acc &gt;&gt; 36);
<a name="l06952"></a>06952 
<a name="l06953"></a>06953   }
<a name="l06954"></a>06954 
<a name="l06963"></a><a class="code" href="group___bilinear_interpolate.html#gade8db9706a3ae9ad03b2750a239d2ee6">06963</a>   <span class="keyword">static</span> __INLINE q7_t <a class="code" href="group___bilinear_interpolate.html#gade8db9706a3ae9ad03b2750a239d2ee6" title="Q7 bilinear interpolation.">arm_bilinear_interp_q7</a>(
<a name="l06964"></a>06964                           <a class="code" href="structarm__bilinear__interp__instance__q7.html" title="Instance structure for the Q15 bilinear interpolation function.">arm_bilinear_interp_instance_q7</a> * S,
<a name="l06965"></a>06965                           q31_t X,
<a name="l06966"></a>06966                           q31_t Y)
<a name="l06967"></a>06967   {
<a name="l06968"></a>06968     q63_t acc = 0;                               <span class="comment">/* output */</span>
<a name="l06969"></a>06969     q31_t out;                                   <span class="comment">/* Temporary output */</span>
<a name="l06970"></a>06970     q31_t xfract, yfract;                        <span class="comment">/* X, Y fractional parts */</span>
<a name="l06971"></a>06971     q7_t x1, x2, y1, y2;                         <span class="comment">/* Nearest output values */</span>
<a name="l06972"></a>06972     int32_t rI, cI;                             <span class="comment">/* Row and column indices */</span>
<a name="l06973"></a>06973     q7_t *pYData = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#afde7546ea2ec5df9fe42fb04d128a016">pData</a>;                     <span class="comment">/* pointer to output table values */</span>
<a name="l06974"></a>06974     uint32_t nCols = S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>;                 <span class="comment">/* num of rows */</span>
<a name="l06975"></a>06975 
<a name="l06976"></a>06976     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06977"></a>06977     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06978"></a>06978     <span class="comment">/* Index value calculation */</span>
<a name="l06979"></a>06979     rI = ((X &amp; 0xFFF00000) &gt;&gt; 20);
<a name="l06980"></a>06980 
<a name="l06981"></a>06981     <span class="comment">/* Input is in 12.20 format */</span>
<a name="l06982"></a>06982     <span class="comment">/* 12 bits for the table index */</span>
<a name="l06983"></a>06983     <span class="comment">/* Index value calculation */</span>
<a name="l06984"></a>06984     cI = ((Y &amp; 0xFFF00000) &gt;&gt; 20);
<a name="l06985"></a>06985 
<a name="l06986"></a>06986     <span class="comment">/* Care taken for table outside boundary */</span>
<a name="l06987"></a>06987     <span class="comment">/* Returns zero output when values are outside table boundary */</span>
<a name="l06988"></a>06988     <span class="keywordflow">if</span>(rI &lt; 0 || rI &gt; (S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#a1bcf80ccdc2acc29198f1592ae300390">numRows</a>-1) || cI &lt; 0  || cI &gt; ( S-&gt;<a class="code" href="structarm__bilinear__interp__instance__q7.html#a4bb5ec0d13eb4c9cf887aa8366a44117">numCols</a>-1))
<a name="l06989"></a>06989     {
<a name="l06990"></a>06990         <span class="keywordflow">return</span>(0);
<a name="l06991"></a>06991     }
<a name="l06992"></a>06992 
<a name="l06993"></a>06993     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l06994"></a>06994     <span class="comment">/* xfract should be in 12.20 format */</span>
<a name="l06995"></a>06995     xfract = (X &amp; 0x000FFFFF);
<a name="l06996"></a>06996 
<a name="l06997"></a>06997     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l06998"></a>06998     x1 = pYData[(rI) + nCols * (cI)];
<a name="l06999"></a>06999     x2 = pYData[(rI) + nCols * (cI) + 1u];
<a name="l07000"></a>07000 
<a name="l07001"></a>07001 
<a name="l07002"></a>07002     <span class="comment">/* 20 bits for the fractional part */</span>
<a name="l07003"></a>07003     <span class="comment">/* yfract should be in 12.20 format */</span>
<a name="l07004"></a>07004     yfract = (Y &amp; 0x000FFFFF);
<a name="l07005"></a>07005 
<a name="l07006"></a>07006     <span class="comment">/* Read two nearest output values from the index */</span>
<a name="l07007"></a>07007     y1 = pYData[(rI) + nCols * (cI + 1)];
<a name="l07008"></a>07008     y2 = pYData[(rI) + nCols * (cI + 1) + 1u];
<a name="l07009"></a>07009 
<a name="l07010"></a>07010     <span class="comment">/* Calculation of x1 * (1-xfract ) * (1-yfract) and acc is in 16.47 format */</span>
<a name="l07011"></a>07011     out = ((x1 * (0xFFFFF - xfract)));
<a name="l07012"></a>07012     acc = (((q63_t) out * (0xFFFFF - yfract)));
<a name="l07013"></a>07013 
<a name="l07014"></a>07014     <span class="comment">/* x2 * (xfract) * (1-yfract)  in 2.22 and adding to acc */</span>
<a name="l07015"></a>07015     out = ((x2 * (0xFFFFF - yfract)));
<a name="l07016"></a>07016     acc += (((q63_t) out * (xfract)));
<a name="l07017"></a>07017 
<a name="l07018"></a>07018     <span class="comment">/* y1 * (1 - xfract) * (yfract)  in 2.22 and adding to acc */</span>
<a name="l07019"></a>07019     out = ((y1 * (0xFFFFF - xfract)));
<a name="l07020"></a>07020     acc += (((q63_t) out * (yfract)));
<a name="l07021"></a>07021 
<a name="l07022"></a>07022     <span class="comment">/* y2 * (xfract) * (yfract)  in 2.22 and adding to acc */</span>
<a name="l07023"></a>07023     out = ((y2 * (yfract)));
<a name="l07024"></a>07024     acc += (((q63_t) out * (xfract)));
<a name="l07025"></a>07025 
<a name="l07026"></a>07026     <span class="comment">/* acc in 16.47 format and down shift by 40 to convert to 1.7 format */</span>
<a name="l07027"></a>07027     <span class="keywordflow">return</span> (acc &gt;&gt; 40);
<a name="l07028"></a>07028 
<a name="l07029"></a>07029   }
<a name="l07030"></a>07030 
<a name="l07040"></a>07040 <span class="preprocessor">#ifdef  __cplusplus</span>
<a name="l07041"></a>07041 <span class="preprocessor"></span>}
<a name="l07042"></a>07042 <span class="preprocessor">#endif</span>
<a name="l07043"></a>07043 <span class="preprocessor"></span>
<a name="l07044"></a>07044 
<a name="l07045"></a>07045 <span class="preprocessor">#endif </span><span class="comment">/* _ARM_MATH_H */</span>
<a name="l07046"></a>07046 
<a name="l07047"></a>07047 
</pre></div></div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri Mar 23 2012 00:11:20 for stm32f4_blink_led by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
